Ruby and Rails

Ruby と Ruby on Rails のこと

guard - ブラウザのリロードや RSpec の自動実行

ファイルを更新したら Chrome を自動でリロードしたり、RSpec を自動実行してくれるのが guard。

インストール

Gemfile に下記。

group :development, :test do
  gem 'guard-livereload'
  gem 'guard-rspec'
end

インストール。

$ bundle

Chrome 拡張機能 LiveReload

guard と連携して Chrome をリロードする LiveReload をインストール。

Guardfile を用意

guard がどんな時に何をするのか記述したものが Guardfile。

生成は下記。

$ bundle exec guard init

実行

$ bundle exec guard

これでファイルを更新するとブラウザが自動でリロードされ、RSpec が走ります。

guard が走ったら、Chrome の LiveReload ボタンを押す。

ものすごく分かりづらいんだけど、真ん中の白丸が黒丸になる。

ローカルの Chrome で LiveReload

開発環境がリモートにあり、ブラウザがローカルの場合。

( 例えば Macssh して開発環境に入っているが、ChromeMac 上の場合 )

SSH ポートフォワーディングする。

$ ssh -L 35729:localhost:35729  oooooooo@192.168.0.2

もしくは ~/.ssh/config に書いておく。

Host dev
  HostName     192.168.0.2
  User         oooooooo
  LocalForward 35729 localhost:35729
$ ssh dev