class Netfira::WebConnect::Models::Shop::Settings
Public Class Methods
new(proxy)
click to toggle source
# File lib/netfira/web_connect/models/support/shop/settings.rb, line 8 def initialize(proxy) @proxy = proxy @models = proxy.map{ |model| [model.key.to_sym, model] }.to_h @hash = @models.map{ |key, model| [key, model.typed_value]}.to_h end
Public Instance Methods
[](key)
click to toggle source
# File lib/netfira/web_connect/models/support/shop/settings.rb, line 14 def [](key) @hash[key.to_sym] end
[]=(key, value)
click to toggle source
# File lib/netfira/web_connect/models/support/shop/settings.rb, line 18 def []=(key, value) key = key.to_sym model = @models[key] ||= @proxy.new(key: key.to_s) model.typed_value = value model.save! @hash[key] = value end
delete(key)
click to toggle source
# File lib/netfira/web_connect/models/support/shop/settings.rb, line 30 def delete(key) key = key.to_sym return false unless @models[key] @models[key].destroy! @models.delete key @hash.delete key true end
to_h()
click to toggle source
# File lib/netfira/web_connect/models/support/shop/settings.rb, line 26 def to_h @hash.deep_dup end