module Wardrobe::Plugins::DirtyTracker::InstanceMethods

Public Instance Methods

_changed?() click to toggle source
# File lib/wardrobe/plugins/dirty_tracker.rb, line 33
def _changed?
  _fetched_attributes.delete_if do |atr, val|
    if val == :wardrobe_instance
      _dirty! if _get_attribute_value(atr)._changed?
    else
      _dirty! if _get_attribute_value(atr).hash != val
    end
    true
  end
  @changed ||= false
end
_dirty!() click to toggle source
# File lib/wardrobe/plugins/dirty_tracker.rb, line 45
def _dirty!
  @changed = true
end
_register_get(atr, value) click to toggle source
# File lib/wardrobe/plugins/dirty_tracker.rb, line 49
def _register_get(atr, value)
  _fetched_attributes[atr] ||= if value.respond_to?(:_changed?)
                                 :wardrobe_instance
                               else
                                 value.hash
                               end
end

Private Instance Methods

_fetched_attributes() click to toggle source
# File lib/wardrobe/plugins/dirty_tracker.rb, line 59
def _fetched_attributes
  @_fetched_attributes ||= {}
end