class Jsonism::Resources::Base
Public Class Methods
new(client: nil, properties: nil)
click to toggle source
@param client [Jsonism::Client] @param properties [Hash]
# File lib/jsonism/resources/base.rb, line 16 def initialize(client: nil, properties: nil) @client = client @properties = properties end
read_only_properties()
click to toggle source
# File lib/jsonism/resources/base.rb, line 9 def read_only_properties @read_only_properties ||= [] end
read_only_property(name)
click to toggle source
# File lib/jsonism/resources/base.rb, line 5 def read_only_property(name) read_only_properties << name end
Public Instance Methods
change(name, value)
click to toggle source
# File lib/jsonism/resources/base.rb, line 34 def change(name, value) changed_properties[name] = value @properties[name] = value end
changed?()
click to toggle source
# File lib/jsonism/resources/base.rb, line 25 def changed? !changed_properties.empty? end
changed_properties()
click to toggle source
# File lib/jsonism/resources/base.rb, line 39 def changed_properties @changed_properties ||= {} end
previously_changed_properties()
click to toggle source
# File lib/jsonism/resources/base.rb, line 43 def previously_changed_properties @previously_changed_properties ||= {} end
read_only_properties()
click to toggle source
# File lib/jsonism/resources/base.rb, line 47 def read_only_properties to_hash.slice(*self.class.read_only_properties) end
save()
click to toggle source
# File lib/jsonism/resources/base.rb, line 29 def save @previously_changed_properties = changed_properties @changed_properties = {} end
to_hash()
click to toggle source
# File lib/jsonism/resources/base.rb, line 21 def to_hash @properties.clone end