何故同じrouteを2回定義したときの動作が気になったかというと、@miminashiさんのtweetが気になったからです。

Twitter / @miminashi: @komagata プラグインに書いたdoブロックの ...

Lokkaではまずプラグインが読み込まれるのでこの動きは好都合。

# public/plugin/lokka-unk/lib/lokka/unk.rb:
module Lokka
  module Unk
    def self.registered(app)
      app.get '/' do
        'unk'
      end
    end
  end
end
% curl http://localhost:9646
unk

プラグインから簡単にトップページを横取りできた。これはいいフリーダム。

# public/plugin/lokka-unk/lib/lokka/shit.rb:
module Lokka
  module Shit
    def self.registered(app)
      app.get %r{^/([0-9a-zA-Z-]+)$} do |slug|
        slug
      end
    end
  end
end
% curl http://localhost:9646/1
1
% curl http://localhost:9646/hoge
hoge

個別ページはこんな感じ。選ばれない方のメソッドは単に実行されないので副作用はありません。

Comments


Option