Method: Rubyists::Linear::BaseModel::ClassMethods#setter!

Defined in:
lib/linear/models/base_model/class_methods.rb

#setter!(relation, klass) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/linear/models/base_model/class_methods.rb', line 8

def setter!(relation, klass)
  define_method "#{relation}=" do |val|
    hash = val.is_a?(Hash) ? val : val.updated_data
    updated_data[relation] = hash
    instance_variable_set("@#{relation}", Rubyists::Linear.const_get(klass).new(hash))
  end
end