2009年07月06日

【1日1Rails】script/console

Ruby 1.8.7
Rails 2.3.2
script/consoleについて


script/console は script/about 実行時に出てきたようなライブラリを読み込んだ上でirbを起動する。

# ActiveSupportの、キロバイトを取得する例
# requireしなくてもActiveSupportが読み込まれていることが分かる
>> 3.kilobytes
=> 3072

# この時、作成済みのモデルも読み込まれている
# TestModelという名前のモデルが作成済みとする
>> TestModel.find( 1 )
=> id=1のTestModelの内容

# 読み込んでいるものの正体はここが詳しかった
# 思った以上に大量に読んでいて、道理で重いはずだと思ったり
http://tnomura9.exblog.jp/8853848/

# リダイレクトでファイルの実行も可能と言えば可能
# script/runnerの方が向いてる気もしますが
$ script/console < test.rb

# 読み込んだモジュールを変更した際に読み直す場合は、reload!を使うらしい
# が、筆者環境ではうまく読み直されていない気がした(後日調査)
>> reload!
Reloading...
=> true