sinatra+shotgunの使い方(解答編)

前の記事で、再度thincaさんからアドバイスをいただきました。

それはshotgunの使い方についてのもので、
『shotgunは別のターミナルとして立ち上げておくもので、
QuickRunとは同時に使わない』という事でした。

さっそく実践してみます。

ターミナルでshotgunを実行

ターミナルを起動し、shotgunでサーバー用スクリプトを実行します。

今回実行するソースはこれです。

require 'rubygems'
require 'sinatra'

get '/' do
 "hello"
end

sinatraのWebサイトに載ってるアレです。
『これをパイプに詰めて、喫うといい』ってやつです。

では、ターミナルを起動して、shotgunを実行してみます。

shotgun (中略)072_sinatra_todo.rb

https://img.skitch.com/20120304-m6knjijy1xfaf75t5pfhjhhsix.jpg
正常に起動したようです。
sinatra単体で起動した時とは、ポート番号が違います。
4567ではなく、9393が使われていますね。

ブラウザで実行結果を確認

ブラウザから、実行結果のページを見てみます。

http://localhost:9393

FireFoxの画面)
https://img.skitch.com/20120304-d32m2sdbay818629x754duf395.jpg

はい。正常に表示されていました。

Vimsinatraを更新

では、Vimで先ほどのソースファイルを更新してみましょう。
メッセージを変化させ、Webページが更新されるか確認します。

まず、ソースを変更します。

require 'rubygems'
require 'sinatra'

get '/' do
  # "hello"
  "How you doin'?"
end

そして保存。

ブラウザで実行結果を再確認

では、ブラウザを再読み込みして、ページが更新されるかどうか確認してみましょう。

https://img.skitch.com/20120304-nr4uushqf911kinrfbc795qt8n.jpg

無事に更新されました。
これからは、こうやって作業していけばいいようです。

閉じるときには

ちなみに、作業を終了するときは、shotgunを実行中のターミナルで、
Ctrl-c を入力すると、サービスが停止します。
Vimのほうは、普通に閉じればよいです。

まとめ

  • shotgunは、別ターミナルで起動する
  • Vimでは、ソースファイルの編集のみ行う
  • ブラウザでは、実行結果のWebページを表示しておき、ソース編集のたびに更新する
  • 終了時は、shotgunをCtrl-cで停止させる


わかるまでアドバイスを下さったthincaさんに、感謝します。
ありがとうございました!