Module: N1Loader::ArLazyPreload::Loadable::ClassMethods
- Included in:
- Loadable::ClassMethods
- Defined in:
- lib/n1_loader/ar_lazy_preload/loadable.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#n1_optimized(name, loader = nil, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/n1_loader/ar_lazy_preload/loadable.rb', line 7 def n1_optimized(name, loader = nil, &block) name, loader_name, loader_variable_name = super define_method(loader_name) do loader = instance_variable_get(loader_variable_name) return loader if loader if respond_to?(:lazy_preload_context) && ContextAdapter.new(lazy_preload_context).try_preload_lazily(name) return instance_variable_get(loader_variable_name) end send("#{loader_name}_reload") end end |