Guard + Powで快適Sinatra開発
Sinatraを使ってWebアプリケーションを作る際、Sinatraを手動で何度も再起動するのは面倒くさくないですか?
そんなときはGuardとPowを使えばSinatraのファイルを書き換え保存するだけで自動的に再起動させることが可能です。
これでテンポよく快適に開発出来ます。
Powの導入
~/.pow/以下にRackアプリのディレクトリへのシンボリックリンクをはるだけで、http://ほにゃらら.dev/でそのアプリにアクセス出来るようになります。
Homebrewを使っている場合は
% brew install pow
で導入出来ます。(多分)
僕はbrewを使わずに入れました。Powにはnode.jsが必要です。
僕はnvmを使ってnode.jsインストールしてPowのサイトに書かれたコマンドを実行してインストールしました。お好きな方で。
参考:Node.js 入門
参考:Pow: Zero-configuration Rack server for Mac OS X
Powderの導入
Powを更に便利に使うためにPowderをインストールします。
% gem install powder
Guardの導入
Guardを使えばファイルが変更されたら自動で何かすることが出来ます。
自動で何をするのかをGuardfileに書きます。
bundlerやcucumberなど様々なツールに対応しています。(参考:List of available Guards · guard/guard Wiki · GitHub
guard-powを使えばSinatraのファイルをいじったら再起動、といったことが簡単に出来ます。
% gem install guard-pow
試しにSinatraアプリを作ってみる
コマンドログ
Nil% mkdir hello Nil% cd hello Nil% cat > web.rb require 'sinatra' get '/' do 'Hello world!' end Nil% cat > config.ru require "./web.rb" run Sinatra::Application Nil% cat > Guardfile guard 'pow' do watch('web.rb') end Nil% cat > .rvmrc use 1.9.2 Nil% powder link Your application is now available at http://hello.dev/ Nil% guard Guard is now watching at '/Users/sei/hello'