Module: Wardrobe::Plugins::DirtyTracker::InstanceMethods

Defined in:
lib/wardrobe/plugins/dirty_tracker.rb

Instance Method Summary collapse

Instance Method Details

#_changed?Boolean

Returns:



33
34
35
36
37
38
39
40
41
42
43
# 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!Object



45
46
47
# File 'lib/wardrobe/plugins/dirty_tracker.rb', line 45

def _dirty!
  @changed = true
end

#_register_get(atr, value) ⇒ Object



49
50
51
52
53
54
55
# 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