2009年8月25日火曜日

[Rails][CodeReading] Rails::Initializer (16) initialize_dependency_mechanism

Initializer.process で16番目に呼ばれる initialize_dependency_mechanism メソッド。

def initialize_dependency_mechanism
ActiveSupport::Dependencies.mechanism = configuration.cache_classes ? :require : :load
end

Configuration.cache_classes がtrueなら :require, falseなら :load が選択されるようです。Configuration.cache_classes のデフォルトはtrueです。

def default_cache_classes
true
end



load と require の違い
リファレンスマニュアルより。

require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。また、require は拡張子 .rb や .so を自動的に補完しますが、load は行いません。 require はライブラリのロード、load は設定ファイルの読み込みなどに使うのが典型的な用途です。


[Rails][CodeReading] Railsの初期化コードを読む (イントロ&目次)

0 件のコメント:

コメントを投稿