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