Method: OccamsRecord::EagerLoaders::Base#initialize
- Defined in:
- lib/occams-record/eager_loaders/base.rb
#initialize(ref, scope = nil, use: nil, as: nil, optimizer: :select, parent: nil, active_record_fallback: nil) { ... } ⇒ Base
ActiveRecord::Relation on which you may call all the normal query hethods (select, where, etc) as well as any scopes you’ve defined on the model.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/occams-record/eager_loaders/base.rb', line 29 def initialize(ref, scope = nil, use: nil, as: nil, optimizer: :select, parent: nil, active_record_fallback: nil, &builder) @ref, @scopes, @use, @as = ref, Array(scope), use, as @model = ref.klass @name = (as || ref.name).to_s @tracer = Tracer.new(name, parent) @eager_loaders = EagerLoaders::Context.new(@model, tracer: @tracer) @active_record_fallback = active_record_fallback @optimizer = optimizer if builder if builder.arity > 0 builder.call(self) else instance_exec(&builder) end end end |