Method: ActiveRecord::ClassMethods#define_attribute_methods

Defined in:
lib/reactive_record/active_record/class_methods.rb

#define_attribute_methodsObject



236
237
238
239
240
241
242
243
244
245
246
# File 'lib/reactive_record/active_record/class_methods.rb', line 236

def define_attribute_methods
  columns_hash.keys.each do |name|
    next if name == :id
    define_method(name) { @backing_record.reactive_get!(name, nil) }
    define_method("#{name}!") { @backing_record.reactive_get!(name, true) }
    define_method("#{name}=") do |val|
      @backing_record.reactive_set!(name, backing_record.convert(name, val))
    end
    define_method("#{name}_changed?") { @backing_record.changed?(name) }
  end
end