sinatra

続:テンプレートエンジンTenjinを使ってみる

Tenjin::ContextHelperを使ったら、いちいち値を渡さなくてよいのでちょっと便利。main.rb: require 'sinatra/base' require 'tenjin' class MyEngine < Tenjin::Engine def initialize(path, line, options) @template_path = path super({}) end def rend…

テンプレートエンジンTenjinを使ってみる

ふと、Sinatraで標準対応していないテンプレートエンジンのTenjinを使ってみようと思い、 いろいろ試してみたところ、なんとかいけそうな感じにはなってきた。 Sinatraは内部でTiltという汎用的なテンプレートのインターフェースを使っているが、 それに合わ…

Sinatra::Baseのインスタンス

Sinatra::Baseはcallメソッド内でdupされているから、リクエスト毎にインスタンスが作成されるということか。 リクエスト毎に毎回hashの値が異なるから、config.ruでuseしているクラスはリクエスト毎にインスタンスが生成されると思っていたけど違うのか。 …

shotgunとRack::Session::Poolではまる

sinatraで自動リロードが効かないためshotgunを使ってみたが、これはうまく動いた。 しかし、Rack::Session::Poolを使うと、どうもうまく動作しない。 envの中身を調べてみると、リクエスト毎にcookieの値が変化する。 使い方が悪いのかといろいろコードをい…