Method: ActiveData::Model::Associations::ClassMethods#alias_association

Defined in:
lib/active_data/model/associations.rb

#alias_association(alias_name, association_name) ⇒ Object

Raises:

  • (ArgumentError)


57
58
59
60
61
62
63
# File 'lib/active_data/model/associations.rb', line 57

def alias_association(alias_name, association_name)
  reflection = reflect_on_association(association_name)
  raise ArgumentError, "Can't alias undefined association `#{attribute_name}` on #{self}" unless reflection
  reflection.class.generate_methods alias_name, generated_associations_methods
  self._association_aliases = _association_aliases.merge(alias_name.to_sym => reflection.name)
  reflection
end