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
|