class MR::Model::Association
Attributes
name[R]
reader_method_name[R]
writer_method_name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/mr/model/associations.rb, line 90 def initialize(name) @name = name.to_s @reader_method_name = @name @writer_method_name = "#{@name}=" @association_reader_name = @name @association_writer_name = "#{@name}=" end
Public Instance Methods
define_accessor_on(model_class)
click to toggle source
# File lib/mr/model/associations.rb, line 98 def define_accessor_on(model_class) association = self model_class.class_eval do define_method(association.reader_method_name) do association.read(record) end define_method(association.writer_method_name) do |value| begin association.write(value, self, record){ |m| m.record } rescue BadAssociationValueError => exception raise ArgumentError, exception.message, caller end end end end