シナトラ/パドリーノでは、ルート内で使用する定数を追加するのに賢明な場所はどこですか?
Padrino を使用して複数のアプリをマウントしているので、定数をすべてのアプリで使用できるようにします。(すべてのアプリは基本クラスから継承します。)
Sinatra.helpersを使用して、ルート内で使用するメソッドを追加しました。
定数についても同様のアプローチを望んでいました。
アップデート
これはスコーピングの問題のようですが、このシナリオで何が問題なのかわかりません。
これは、問題を示す単純な padrino アプリです。
app.rb
class MyProject < Padrino::Application
register Padrino::Rendering
register Padrino::Mailer
register Padrino::Helpers
MY_CONST = 123
end
controllers.rb
MyProject.controller do
get "/" do
p self.class # => MyProject
p self.class.constants # => [:DATA_ATTRIBUTES, ... <snip>..., :MY_CONST, ... <snip>... ]
p MyProject::MY_CONST # => 123
p MY_CONST # => NameError - uninitialized constant MY_CONST
end
end