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