class ActiveForce::Association::RelationModelBuilder

Public Class Methods

build(association, value) click to toggle source
# File lib/active_force/association/relation_model_builder.rb, line 5
def build(association, value)
  new(association, value).build_relation_model
end
new(association, value) click to toggle source
# File lib/active_force/association/relation_model_builder.rb, line 10
def initialize(association, value)
  @association = association
  @value = value
end

Public Instance Methods

build_relation_model() click to toggle source
# File lib/active_force/association/relation_model_builder.rb, line 15
def build_relation_model
  klass = resolve_class
  klass.new(@association, @value).call
end

Private Instance Methods

resolve_class() click to toggle source
# File lib/active_force/association/relation_model_builder.rb, line 22
def resolve_class
  association_builder = @value.class.name.gsub('::', '_')
  ActiveForce::Association.const_get "BuildFrom#{association_builder}"
rescue NameError
  raise "Don't know how to build relation from #{@value.class.name}"
end