You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
コマンドは、以下のような書式でオプションと引数を設定して、実行する仕組みになっている。 例: コマンド名 オプション オプション オプション引数 オプション コマンド引数 optparser_test.rb -a -b VALUE --foo FILE_PATH 実際にコマンドを作ろうとすると、オプションの解析には手間がかかると気付く。 そのため、多くの言語環境にはオプション解析用のライブラリが用意されている。 Rubyのoptparserについて、基本的な使い方は知っているつもりだったが... Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。 ちょっと気の利いたコマンドにしようとすると、その使い方は謎だらけになった。 どうしたら苦労最小限でオプションを解析できるのか、調べてみた。 基本 require 'optparse' OptionParser.new do |op
What Is YARD? YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions. Above is a highlight of the some of YARD's notable features. And of course YARD comes with muc
こんにちは、鈴木です。 Ruby on Rails で複数のデータベースを扱う方法をご紹介します。 establish_connection establish_connection はデータベースと接続するためのメソッドです。 通常は明示的に呼び出すことはありませんが、複数のデータベースを使用する場合は、以下のように明示的に呼び出す必要があります。 class User < ActiveRecord::Base establish_connection :adapter => 'postgresql', :encoding => 'unicode', :database => 'other_database', :pool => '5', :username => 'USERNAME', :password => 'PASSWORD', :host => 'localhost' end
なんか iMac 上の RVM の動作が変。もう、開き直ってクリーンインストールすることにした。 RVM のアンインストールコマンドを探してみたら "implode" と一緒に "seppuku(切腹)"があったのには笑った。 3509: implode | seppuku) 3536- source "$rvm_scripts_path/functions/implode"; 3594- __rvm_implode さっそく切腹。:-) $ rvm seppuku Are you SURE you wish for rvm to implode? This will recursively remove /Users/watanata/.rvm and other rvm traces? (anything other than 'yes' will cancel) > yes Remo
ruby-talk の 381425 で 「どのメソッドが呼び出されているのか調べる方法を知りたい」 という内容の質問がありました。 私も知らなかったのですが、Method オブジェクトを使えば簡単に知ることができるそうです。 というわけで、メソッドがどこで定義されているのかを調べる方法を書いておきます。 メソッドを定義しているクラスまたはモジュールへの参照を取得する あるメソッドがどのクラス (またはモジュール) で定義されているかを知りたければ、そのメソッドに対応する Method オブジェクトを取得し、Method#owner メソッド を呼び出します。 それだけで、メソッドを定義しているクラス (またはモジュール) への参照を取得できます。 ちなみに、ある名前のメソッドに対応する Method オブジェクトを取得するには、Kernel#method メソッド を使用します。 'あい
#! ruby -Ks # shortcut.rb # ショートカットを作成します。 # # 前提 # - win32-shortcutが必要です。 # > gem install win32-shortcut require 'rubygems' require 'win32/shortcut' include Win32 shortcut = Shortcut.new "shortcut_test.lnk" shortcut.description = "Shortcut Test" shortcut.path = "C:\\Windows\\notepad.exe" shortcut.show_cmd = Shortcut::SHOWNORMAL shortcut.working_directory = "." shortcut.save
ubuntu 12.04。 sudo apt-get install ruby-rvm ってしたときに、以下のようなエラーに。 (LANG=Cで実行したときのエラーメッセージも取っとくべきだった・・・) ruby-rvm (1.6.9-0ubuntu2) を設定しています ... dpkg-statoverride: error: 文法エラー: statoverride ファイルに未知のグループ 'admin' があります dpkg: ruby-rvm の処理中にエラーが発生しました (--configure): サブプロセス インストール済みの post-installation スクリプト はエラー終了ステー タス 2 を返しました 以下のパッケージの処理中にエラーが発生しました: ruby-rvm E: Sub-process /usr/bin/dpkg returned an
もはや説明は不要かもしれませんが、"puppet"は、Puppet Labsが開発しているシステム運用管理ツールで、puppet管理下にあるサーバ群のシステムの状態を"あるべき状態"に保つための補助ツールです。 chefもpuppetと同等の機能を持ち、システムの運用管理をするには大変便利ではありますが、管理するサーバ台数が増加してくると、chef/puppetだけでは解決しづらいことも発生し始めます。 例えば、数百台のサーバの運用管理をしていたら、その中の一部だけサーバの状態が不安定になり、daemonが停止してしまったり、予期せぬレスポンスを返してしまったりする事態に遭遇することが稀にあります。 他にも、特定のロケールに配置してあるサーバでのみ、何かしらの処理を1度だけ実行しなければならないと事態も発生しがちです。 そのような場合は、puppetを利用して状況確認や処理の実行をすること
I was watching The Last Dance, Michael Jordan’s Netflix documentary, last year when I returned to work from four-month-long paternity leave. It was a great show and brought back all of the joys I had when watching Chicago Bulls in the 90s. And it still got me to think till today, what if my engineering team were a sports team. Give this idea a shot. For an engineer in an IT company, you don’t play
はじめに Rails Wayを読みながらRailsのルーティングについて学習した事をまとめておく。 ルーティングとは Railsのルーティングは受信したURLから実行すべきアクションを判断するシステム。ルーティングのルールはconfig/routes.rbに定義する。 デフォルトのルーティング デフォルトのルーティングの動作は、以下のように定義すると <%= link_to "Items", :controller => "item", :action => "list" %> このURLが得られる。 http://localhost:3000/item/listではroute.rbの定義を見てみる。たったこれだけ。 ActionController::Routing::Routes.draw do |map| map.connect ':controller/:action/:id' m
前回書いた さようならPuppet、こんにちはChef が、それなりに反響あったので調子に乗ってもうちょっと書いてみる。 前回、ChefはPuppetに比べて簡単!とか書いたが、実際には慣れるまでそれなりに戸惑うところがあった。 ドキュメント を読み、実際に触っただけでは一発で理解できなかった部分を、自分のメモを元に晒しておく。これだけ読んでもいまいちだと思うので、関連するドキュメントへのリンクも張っておくので合わせて読んでみると高速でChefを理解できるかも! client vs node Chef Client Nodes ドキュメントを読んだりChefを触っていると client と node という二つのワードが出てくる。この二つは似ているけど別物。 client は文字通り Chef server の相手になるもの。 Chef server にアクセスするものはすべて clien
よくrequire()してコードを書いていると、今いる階層にはどんなクラスが存在するのか 一覧を見てみたくなりませんか? 実は、id:akio0911に「Rubyでクラス一覧を表示する方法知らない?」と聞かれたので 調べてみました。 答え self.class.constants.reject{|constant| eval("!#{constant}.kind_of?(Class)")} ・・・えーと。はい。よくわからないと思うのでもう少しわかりやすく書きます。 self.class #=> Object トップオブジェクトのクラスを返してもらいます。 self.class.constants #=> ["TrueClass", "CROSS_COMPILING", ... ] トップオブジェクトが持つコンスタンスを配列として返してもらいます。 この配列の中には、トップオブジェクトが所持
63. あるクラスのサブクラスを取 得する class Object def subclasses_of(*superclasses) subclasses = [] superclasses.each do |sup| ObjectSpace.each_object(class << sup; self; end) do |k| if k != sup && (k.name.blank? || eval(quot;defined?(::#{k}) && ::#{k}.object_id == k.object_idquot;)) subclasses << k end end end subclasses end end 62/67
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
IronRubyはα時代から弄っていましたが、バージョンが上がるたびにホスティング方法が変更されていました。RCになったのでそろそろ最終版だと思いたいのですが、どーなんでしょ。(^^; てきとーなrubyのクラス。 class Foo def bar puts 'baz' end def add(x, y) x + y end def sub(x, y) x - y end end これをC#から呼び出してみます。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using IronRuby.Hosting; namespace IronRubySample { class Program { static void Main(string[] args) { //
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く