Sinatraが若干変更されていた

久しぶりに少しsinatraを触って見たら、若干変更されていました(というか私が全然変更についていってないだけだと思う。)。
Versionも2.0.0か。

sinatra-contribが本家に取り込まれていた

https://github.com/sinatra/sinatra/tree/master/sinatra-contrib

ということで、request時にrubyのコードを再読み込みするには以下のようにすれば良いです。

require "sinatra/reloader" if development?

昔からあったのかもしれませんが、他にもsinatra-contribにはsinatra/capture などなど便利そうなものがあるようです。
 

その他

static fileの配信もできたんですね。(そら出来るだろうという感じですが、使ったことこなかった。)

configure do
  set :public_folder, File.dirname(__FILE__) + "/../public"
end

試しにjson置いて見たら、ちゃんとContent-Type:application/json で返してくれます。
 
知らなかったので、以下のようにjsonを読み込ませるroutingを書いてました。

get "/json/*" do |json_file|
  json_path = File.join("public", json_file)
  pass unless File.exist?(json_path)
  # do something
  json JSON.parse(open(json_path).read)
end