何故同じrouteを2回定義したときの動作が気になったかというと、@miminashiさんのtweetが気になったからです。
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
個別ページはこんな感じ。選ばれない方のメソッドは単に実行されないので副作用はありません。