Class: Spree::Preferences::StaticModelPreferences::Definition
- Inherits:
-
Object
- Object
- Spree::Preferences::StaticModelPreferences::Definition
- Defined in:
- app/models/spree/preferences/static_model_preferences.rb
Instance Attribute Summary collapse
-
#preferences ⇒ Object
readonly
Returns the value of attribute preferences.
Instance Method Summary collapse
- #[]=(key, value) ⇒ Object
- #fetch(key, &block) ⇒ Object
-
#initialize(klass, hash) ⇒ Definition
constructor
A new instance of Definition.
- #to_hash ⇒ Object
Constructor Details
#initialize(klass, hash) ⇒ Definition
Returns a new instance of Definition.
7 8 9 10 11 12 13 14 15 |
# File 'app/models/spree/preferences/static_model_preferences.rb', line 7 def initialize(klass, hash) hash = hash.symbolize_keys hash.keys.each do |key| if !klass.defined_preferences.include?(key) raise "Preference #{key.inspect} is not defined on #{klass}" end end @preferences = hash end |
Instance Attribute Details
#preferences ⇒ Object (readonly)
Returns the value of attribute preferences.
5 6 7 |
# File 'app/models/spree/preferences/static_model_preferences.rb', line 5 def preferences @preferences end |
Instance Method Details
#[]=(key, value) ⇒ Object
21 22 23 |
# File 'app/models/spree/preferences/static_model_preferences.rb', line 21 def []=(key, value) # ignores assignment end |
#fetch(key, &block) ⇒ Object
17 18 19 |
# File 'app/models/spree/preferences/static_model_preferences.rb', line 17 def fetch(key, &block) @preferences.fetch(key, &block) end |
#to_hash ⇒ Object
25 26 27 |
# File 'app/models/spree/preferences/static_model_preferences.rb', line 25 def to_hash @preferences.deep_dup end |