class Stormpath::Resource::CustomData

Public Instance Methods

[](property_name) click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
23 def [](property_name)
24   get_property property_name, ignore_camelcasing: true
25 end
[]=(property_name, property_value) click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
27 def []=(property_name, property_value)
28   set_property property_name, property_value, ignore_camelcasing: true
29 end
delete(name = nil) click to toggle source
Calls superclass method Stormpath::Resource::Instance#delete
   # File lib/stormpath-sdk/resource/custom_data.rb
36 def delete(name = nil)
37   if name.nil?
38     @properties = { HREF_PROP_NAME => @properties[HREF_PROP_NAME] }
39     @dirty_properties.clear
40     @deleted_properties.clear
41     return super()
42   end
43 
44   @write_lock.lock
45   property_name = name.to_s
46   begin
47     @properties.delete(property_name)
48     @dirty_properties.delete(property_name)
49     @deleted_properties << property_name
50     @dirty = true
51   ensure
52     @write_lock.unlock
53   end
54 end
save() click to toggle source
Calls superclass method Stormpath::Resource::Instance#save
   # File lib/stormpath-sdk/resource/custom_data.rb
31 def save
32   delete_removed_properties if has_removed_properties?
33   super if has_new_properties?
34 end

Private Instance Methods

delete_removed_properties() click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
85 def delete_removed_properties
86   @deleted_properties.delete_if do |deleted_property_name|
87     data_store.delete(self, deleted_property_name)
88     true
89   end
90 end
has_new_properties?() click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
76 def has_new_properties?
77   @read_lock.lock
78   begin
79     !@dirty_properties.empty?
80   ensure
81     @read_lock.unlock
82   end
83 end
has_removed_properties?() click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
67 def has_removed_properties?
68   @read_lock.lock
69   begin
70     !@deleted_properties.empty?
71   ensure
72     @read_lock.unlock
73   end
74 end
sanitize(properties) click to toggle source
   # File lib/stormpath-sdk/resource/custom_data.rb
58 def sanitize(properties)
59   {}.tap do |sanitized_properties|
60     properties.map do |key, value|
61       property_name = key.to_s
62       sanitized_properties[property_name] = value
63     end
64   end
65 end