Module: ActiveData::Model::Associations

Extended by:
ActiveSupport::Concern
Defined in:
lib/active_data/model/associations.rb,
lib/active_data/model/associations/base.rb,
lib/active_data/model/associations/embeds_one.rb,
lib/active_data/model/associations/embeds_many.rb,
lib/active_data/model/associations/validations.rb,
lib/active_data/model/associations/references_one.rb,
lib/active_data/model/associations/references_many.rb,
lib/active_data/model/associations/collection/proxy.rb,
lib/active_data/model/associations/reflections/base.rb,
lib/active_data/model/associations/nested_attributes.rb,
lib/active_data/model/associations/collection/embedded.rb,
lib/active_data/model/associations/collection/referenced.rb,
lib/active_data/model/associations/reflections/embeds_one.rb,
lib/active_data/model/associations/reflections/embeds_many.rb,
lib/active_data/model/associations/reflections/references_one.rb,
lib/active_data/model/associations/reflections/references_many.rb,
lib/active_data/model/associations/reflections/reference_reflection.rb

Defined Under Namespace

Modules: ClassMethods, Collection, NestedAttributes, Reflections, Validations Classes: Base, EmbedsMany, EmbedsOne, ReferencesMany, ReferencesOne

Instance Method Summary collapse

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



86
87
88
89
90
# File 'lib/active_data/model/associations.rb', line 86

def == other
  super && association_names.all? do |association|
    public_send(association) == other.public_send(association)
  end
end

#apply_association_changes!Object



99
100
101
102
103
# File 'lib/active_data/model/associations.rb', line 99

def apply_association_changes!
  association_names.all? do |name|
    association(name).apply_changes!
  end
end

#association(name) ⇒ Object



93
94
95
96
97
# File 'lib/active_data/model/associations.rb', line 93

def association name
  if reflection = self.class.reflect_on_association(name)
    (@_associations ||= {})[reflection.name] ||= reflection.build_association(self)
  end
end