Sha256: 2167b1b7c4b775fb296c335315120d22a3f1cd45f2a391df69cf81b9b1ee24ab

Contents?: true

Size: 856 Bytes

Versions: 5

Compression:

Stored size: 856 Bytes

Contents

require 'active_force/association/association'
require 'active_force/association/eager_load_projection_builder'
require 'active_force/association/relation_model_builder'
require 'active_force/association/has_many_association'
require 'active_force/association/belongs_to_association'

module ActiveForce
  module Association
    def associations
      @associations ||= {}
    end

    # i.e name = 'Quota__r'
    def find_association name
      associations.values.detect do |association|
        association.represents_sfdc_table? name
      end
    end

    def has_many relation_name, options = {}
      associations[relation_name] = HasManyAssociation.new(self, relation_name, options)
    end

    def belongs_to relation_name, options = {}
      associations[relation_name] = BelongsToAssociation.new(self, relation_name, options)
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
openstax_active_force-1.1.1 lib/active_force/association.rb
openstax_active_force-1.1.0 lib/active_force/association.rb
openstax_active_force-1.0.0 lib/active_force/association.rb
active_force-0.7.1 lib/active_force/association.rb
active_force-0.7.0 lib/active_force/association.rb