class ActiveForce::Association::EagerLoadProjectionBuilder

Attributes

association[R]
parent_association_field[R]

Public Class Methods

build(association, parent_association_field = nil) click to toggle source
# File lib/active_force/association/eager_load_projection_builder.rb, line 6
def build(association, parent_association_field = nil)
  new(association, parent_association_field).projections
end
new(association, parent_association_field = nil) click to toggle source
# File lib/active_force/association/eager_load_projection_builder.rb, line 20
def initialize(association, parent_association_field = nil)
  @association = association
  @parent_association_field = parent_association_field
end
projection_builder_class(association) click to toggle source
# File lib/active_force/association/eager_load_projection_builder.rb, line 10
def projection_builder_class(association)
  klass = association.class.name.demodulize
  ActiveForce::Association.const_get "#{klass}ProjectionBuilder"
rescue NameError
  raise "No projection builder exists for #{klass}"
end

Public Instance Methods

projections() click to toggle source
# File lib/active_force/association/eager_load_projection_builder.rb, line 25
def projections
  builder_class = self.class.projection_builder_class(association)
  builder_class.new(association, parent_association_field).projections
end