Module: LegacyWoes::ClassMethods
- Defined in:
- lib/legacy_woes.rb
Instance Method Summary collapse
-
#created_at_column(legacy_column_name) ⇒ Object
Sets the created_at column.
-
#updated_at_column(legacy_column_name) ⇒ Object
Sets the updated_at column.
Instance Method Details
#created_at_column(legacy_column_name) ⇒ Object
Sets the created_at column. Also defines methods for created_at and created_at=.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/legacy_woes.rb', line 16 def created_at_column(legacy_column_name) module_eval <<-EOB def write_attribute_with_#{legacy_column_name}_created_at(name, value, &block) if name == 'created_at' write_attribute('#{legacy_column_name}', value) else send(:write_attribute_without_#{legacy_column_name}_created_at, name, value, &block) end end EOB define_method :created_at do send(legacy_column_name) end define_method :created_at= do |value| send('#{legacy_column_name}=', value) end alias_method_chain :write_attribute, "#{legacy_column_name}_created_at" end |
#updated_at_column(legacy_column_name) ⇒ Object
Sets the updated_at column. Also defines methods for updated_at and updated_at=.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/legacy_woes.rb', line 39 def updated_at_column(legacy_column_name) module_eval <<-EOB def write_attribute_with_#{legacy_column_name}_updated_at(name, value, &block) if name == 'updated_at' write_attribute('#{legacy_column_name}', value) else send(:write_attribute_without_#{legacy_column_name}_updated_at, name, value, &block) end end EOB define_method :updated_at do send(legacy_column_name) end define_method :updated_at= do |value| send('#{legacy_column_name}=', value) end alias_method_chain :write_attribute, "#{legacy_column_name}_updated_at" end |