• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

より快適なRails開発環境を追求するため、今回はソースコード変更時に、自動的にFirefoxをリロードしてくれるスクリプトを作成した。
せっかく作ったので、オープンソースとして公開。
http://github.com/abikounso/auto_reloader/tree/master

環境

  • Ubuntu 8.04
  • JRuby 1.1.4
  • Rails 2.1.2
  • Firefox 3.0.3


リポジトリのコピー

まずは、リポジトリをローカルにコピー

git clone git://github.com/abikounso/auto_reloader.git

auto_reloaderの中には、

mozlab.xpi(Firefoxアドオン)
reload(Rubyスクリプト)

が入っている。

MozLabのインストール

Firefoxにmozlab.xpiをインストールして再起動後、【ツール】>【MozRepl】>【Start】で、telnet接続の準備をしておく。

reloadの配置

reloadをRAILS_ROOT/scriptへコピー。

使い方

下記のコマンドで、監視スタート。

ruby script/reload

監視対象のディレクトリは以下のとおり。

app/controllers
app/helpers
app/models
app/views
public/images
public/javascripts
public/stylesheets

ソースコードを変更して保存すると、ターミナルには

reload /media/disk/workspace/testapp/app/views/hoges/index.html.erb

というメッセージが表示され、Firefoxが自動的にリロードされる。


注意点

  1. Firefoxの公式サイトにあるMozLabだと、Firefox 3.0.3には対応していないので、必ずauto_reloaderの中に入っているMozLabを使うこと。
  2. 先にFirefox側でMozReplをStartさせておかないと、reloadスクリプトがエラーになってしまうので、起動する順番に注意。

まとめ

1日何十〜何百回も
【ソースコード修正】>【アクティブウィンドウをFirefoxに切り替え】>【リロード】
という作業を繰り返していたのが、自動リロードになるだけで超快適。 デュアルディスプレイを使っているなら、なおさら。
監視対象のディレクトリを変更すれば、Rails以外のフレームワークでも使えるので、応用範囲は広い。

posted by Png abikounso on Tue 4 Nov 2008 at 08:48

Comments: Trackbacks:

or Preview
Social Bookmarks
  • Delicious
  • B_entry1002
  • Clip_16_12_w
Services from s21g
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
PokéDia
日めくり手帳アプリ
Formula
ブログに数式を埋め込める数式コミュニティ