Railsアプリで、定数が定義されているかどうかを確認し、必要に応じて自動ロードします。自動読み込みが行われるまで、defined?
演算子はfalseを返します。
defined? Foo # => false :(
Foo # => Foo
defined? Foo # => true
私の現在の回避策はこれです:
begin
Foo # try to autoload
true
rescue NameError
false
end
定数が定義されているかどうかを確認するだけでなく、必要に応じて自動ロードするためのより良い方法はありますか?
要求による理論的根拠:
Rails用のKonachaJSテストフレームワークは、フィクスチャのRubyファイルが存在する場合はそれを自動的に取得する必要があります。ロードはRailsの自動ロードメカニズムで行われるはずなので、自動リロード(を使用config.cache_classes = false
)の恩恵を受けます。