diff options
author | Neeraj Singh <neerajdotname@gmail.com> | 2010-07-29 13:05:54 -0400 |
---|---|---|
committer | Neeraj Singh <neerajdotname@gmail.com> | 2010-07-29 13:05:54 -0400 |
commit | 3c3ff1377d17b584dd14d85c7cecab59ddff2679 (patch) | |
tree | 9ece4a95c4d0d480aafceec3a10334efee9d4924 /activesupport/lib | |
parent | a506d5a5241507afda5f57ca8953fbcbf4b91231 (diff) | |
download | rails-3c3ff1377d17b584dd14d85c7cecab59ddff2679.tar.gz rails-3c3ff1377d17b584dd14d85c7cecab59ddff2679.tar.bz2 rails-3c3ff1377d17b584dd14d85c7cecab59ddff2679.zip |
Adding documentation regarding lazy_load_hooks
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/lazy_load_hooks.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/lazy_load_hooks.rb b/activesupport/lib/active_support/lazy_load_hooks.rb index 3664431a28..ef43fc0431 100644 --- a/activesupport/lib/active_support/lazy_load_hooks.rb +++ b/activesupport/lib/active_support/lazy_load_hooks.rb @@ -1,3 +1,22 @@ +# lazy_load_hooks allows rails to lazily load a lot of components and thus making the app boot faster. Because of +# this feature now there is no need to require <tt>ActiveRecord::Base</tt> at boot time purely to apply configuration. Instead +# a hook is registered that applies configuration once <tt>ActiveRecord::Base</tt> is loaded. Here <tt>ActiveRecord::Base</tt> is used +# as example but this feature can be applied elsewhere too. +# +# Here is an example where +on_load+ method is called to register a hook. +# +# initializer "active_record.initialize_timezone" do +# ActiveSupport.on_load(:active_record) do +# self.time_zone_aware_attributes = true +# self.default_timezone = :utc +# end +# end +# +# When the entirety of +activerecord/lib/active_record/base.rb+ has been evaluated then +run_load_hooks+ is invoked. +# The very last line of +activerecord/lib/active_record/base.rb+ is: +# +# ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base) +# module ActiveSupport @load_hooks = Hash.new {|h,k| h[k] = [] } @loaded = {} @@ -24,4 +43,4 @@ module ActiveSupport execute_hook(base, options, hook) end end -end
\ No newline at end of file +end |