2012/7/16 10:00 指摘によりsinatra-contribを使う旨を追記&修正
未だにshotgun使ってた。
参考:
モノクロームの中: sinatra (2) - オートリロード -
Sinatra::Reloader (part of Sinatra::Contrib)
gemをインストール
% gem install sinatra-contrib
Classicスタイル
require "sinatra"
require "sinatra/reloader" if development?
Modularスタイル
require "sinatra/base"
require "sinatra/reloader"
class MyApp < Sinatra::Base
configure :development do
register Sinatra::Reloader
end
end
developmentモードで起動したときに有効になる。(デフォルトでdevelopmentモード)
ところでrackup -E で設定できるのってdevelopmentとtestとproductionだけで合ってるんだろうか。ハッキリとこれです!って言ってるのが見つけられなかった。
あと、Bundler使うパターン
Gemfileがこう
source :rubygems
gem 'sinatra', require: 'sinatra/base'
group :development do
gem 'sinatra-contrib', require: 'sinatra/reloader'
end
で、本体のほうがこう
class App < Sinatra::Base
configure :development do
Bundler.require :development
register Sinatra::Reloader
end
end
bundle exec rackupで起動しよう。
ファイル単位でもリロードの設定を変えられるようだ。
http://www.sinatrarb.com/contrib/reloader
今回の、shokaiさんはいつからやっていた?は2年と3ヶ月前でした。
sinatra開発時に自動リロードする - 橋本詳解