Module: Hyperactive::Cleaner::Accessors::ClassMethods
- Defined in:
- lib/hyperactive/cleaner.rb
Overview
The class methods that help us set/get instance variables in a dirt-aware way.
Instance Method Summary collapse
-
#attr_accessor(*attributes) ⇒ Object
Works like normal attr_accessor but with with dirt-aware attr_writer.
-
#attr_writer(*attributes) ⇒ Object
Works like normal attr_writer but sets us to dirty.
Instance Method Details
#attr_accessor(*attributes) ⇒ Object
Works like normal attr_accessor but with with dirt-aware attr_writer.
80 81 82 83 |
# File 'lib/hyperactive/cleaner.rb', line 80 def attr_accessor(*attributes) attr_reader(*attributes) attr_writer(*attributes) end |
#attr_writer(*attributes) ⇒ Object
Works like normal attr_writer but sets us to dirty.
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/hyperactive/cleaner.rb', line 66 def attr_writer(*attributes) super attributes.each do |attribute| alias_method "hyperactive_cleaner_accessors_#{attribute}=", "#{attribute}=" define_method("#{attribute}=") do |new_value| self.send("hyperactive_cleaner_accessors_#{attribute}=", new_value) self.is_dirty! end end end |