Spring が便利

Rails アプリの開発で便利な gem である Spring を紹介。

spring は Rails のプレローダーアプリであり、sporkzeus, commands と同様のものである。

っと、 README を訳した感じになってしまったが、そのまんま。

対象バージョン

古いシステムだと動かない…。

Spring をインストール

$ gem install spring

これだけ。 spork は いろいろ設定が面倒、 zeus は結構プロセスが 壊れたりするので今はこれに落ち着いている。

Gemfile に書かずに直接インストールすることが推奨される。

使用方法

おそらく、よく使うのは rspec, cucumber を走らせる場合である。 guard で自動だよってのはアレだが、 Sublime Text 等でエディタ上から動かすとかには便利。

Rspec
$ spring rspec spec/models/hoge_spec.rb

頭に spring がつく以外は通常通りの実行で構わない。最初はロードしていないので時間がかかるが、次回からはロード状態なので高速に動く。

cucumber
$ spring cucumber features/hoge.feature

などと。もちろん、ファイル指定しなければオールテストが実施される。

その他、 rake, generate, console, server などはひと通り使える。

注意事項

ブランチ移動した場合は spring を止めて再起動するすること。

$ spring stop

spring の状態は

$ spring status

で確認できる。

あと、 spec_helper.rb に spork の設定を記述してある場合は必ず消しておくこと。 フィクスチャに factory_girl を使用している場合は

config.before(:all) do
  FactoryGirl.reload
end

を追加しておこう。おそらく、Spork.each_run のブロックに書かれているブツ。