読者です 読者をやめる 読者になる 読者になる

Rails Console で必要な参照や設定をあらかじめ行う方法

Rails Console は開発の随所で利用する機会が多いですが、それだけに起動時に読み込むべきライブラリなどを設定しておきたいものです。

たとえば、

  1. Rails.logger の内容を表示してほしい。
  2. RSpecのmockを利用したい。
  3.  FactoryGirl::Syntax::Methods をinclude したい。

などなど。

そのための設定方法ですが、以下の通り設定することで少し便利になります。(.irbrc は Railsアプリケーションの直下に保存します。)

[bash title="/path/to/rails_app_root" language=","] $ cat .irbrc

ActiveRecordSQLログを出力する

ActiveRecord::Base.logger = Logger.new(STDOUT)

RailsLoggerのログを出力する

Rails.logger = Logger.new(STDOUT)

FactoryGirl の記述を省略する

include FactoryGirl::Syntax::Methods

rspec の should_recieve などを利用する

require 'rspec/mocks/standalone'

[/bash]

Rails Consoleはirbを拡張しているため、とりあえず irb の設定ファイルである .irbrc に必要な設定を追加することで Rails Console 起動時に必要な情報が読み込まれます。

irbは起動時にホームディレクトリの.irbrcを読み込みます。もし存在しない場合はカレントディレクトリの .irbrc、 irb.rc、 _irbrc、 $irbrcの順で読み込みを試行します。.rtcrbの実態はRubyプログラムです。各種irbecファイルを読み込ませないようにするには起動オプションとして「-f」を指定すると読み込まれない状態でirbを起動させることができます。 パーフェクトRuby 12-1-3 .irbrcについて

上記の通り、irbrcについては パーフェクトRuby に説明がありますので詳細はそちらを参照してみてください。

Enjoy!