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