Class: AssociationAccessors::SingularAssociation

Inherits:
Object
  • Object
show all
Defined in:
lib/association_accessors/singular_association.rb

Class Method Summary collapse

Class Method Details

.define_association_methods(mixin, reflection, attribute) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/association_accessors/singular_association.rb', line 3

def self.define_association_methods mixin, reflection, attribute
  association = reflection.name

  mixin.class_eval "    def \#{association}_\#{attribute}\n      \#{association}&.\#{attribute}\n    end\n\n    def \#{association}_\#{attribute}= value\n      association_class = association(\#{association.inspect}).klass\n      send :\#{association}=, value && association_class.find_by!(\#{attribute}: value)\n      value\n    end\n  CODE\nend\n", __FILE__, __LINE__ + 1