module ZendeskAPI::TrackChanges::InstanceMethods
@private
Public Instance Methods
changed?(key = nil)
click to toggle source
# File lib/zendesk_api/track_changes.rb, line 74 def changed?(key = nil) if key.nil? !changes.empty? || any? { |_, v| v.respond_to?(:changed?) && v.changed? } else changes.key?(key) end end
Also aliased as: dirty?
changes()
click to toggle source
# File lib/zendesk_api/track_changes.rb, line 62 def changes (@changes ||= self.class.superclass.new).tap do |changes| each do |k, v| if v.respond_to?(:changed?) && v.changed? changes[k] = v.changes elsif v.is_a?(Array) && v.any? { |val| val.respond_to?(:changed?) && val.changed? } changes[k] = v end end end end
clear()
click to toggle source
# File lib/zendesk_api/track_changes.rb, line 43 def clear keys.each { |key| delete key } end
clear_changes()
click to toggle source
# File lib/zendesk_api/track_changes.rb, line 22 def clear_changes each do |k, v| if v.respond_to?(:clear_changes) v.clear_changes elsif v.is_a?(Array) v.each do |val| if val.respond_to?(:clear_changes) val.clear_changes end end end end changes.clear end
delete(key)
click to toggle source
Calls superclass method
# File lib/zendesk_api/track_changes.rb, line 56 def delete(key) super.tap do |value| changes[key] = nil end end
regular_writer(key, value)
click to toggle source
Calls superclass method
# File lib/zendesk_api/track_changes.rb, line 47 def regular_writer(key, value) if has_key?(key) && self[key] == value value else changes[key] = value defined?(_store) ? _store(key, value) : super(key, value) end end
replace(other)
click to toggle source
# File lib/zendesk_api/track_changes.rb, line 38 def replace(other) clear merge! other end