Class: Trailblazer::Context::Store::IndifferentAccess
- Inherits:
-
Hash
- Object
- Hash
- Trailblazer::Context::Store::IndifferentAccess
- Includes:
- Hashie::Extensions::IndifferentAccess
- Defined in:
- lib/trailblazer/context/store/indifferent_access.rb
Overview
Simple yet indifferently accessible hash store, used as replica in Context::Container. It maintains cache for multiple hashes (wrapped_options, mutable_options etc).
Instance Method Summary collapse
-
#convert_key(key) ⇒ Object
Override of Hashie::Extensions::IndifferentAccess#convert_key to store keys as Symbol by default instead of String.
-
#indifferent_value(value) ⇒ Object
Override of Hashie::Extensions::IndifferentAccess#indifferent_value to not do deep indifferent access conversion.
-
#initialize(hashes) ⇒ IndifferentAccess
constructor
A new instance of IndifferentAccess.
Constructor Details
#initialize(hashes) ⇒ IndifferentAccess
Returns a new instance of IndifferentAccess.
11 12 13 14 15 16 17 |
# File 'lib/trailblazer/context/store/indifferent_access.rb', line 11 def initialize(hashes) hashes.each do |hash| hash.each do |key, value| self[key] = value end end end |
Instance Method Details
#convert_key(key) ⇒ Object
Override of Hashie::Extensions::IndifferentAccess#convert_key to store keys as Symbol by default instead of String. Why ? We need to pass ‘ctx` as keyword arguments most of the time.
29 30 31 32 |
# File 'lib/trailblazer/context/store/indifferent_access.rb', line 29 def convert_key(key) return key if Symbol === key String === key ? key.to_sym : key end |
#indifferent_value(value) ⇒ Object
Override of Hashie::Extensions::IndifferentAccess#indifferent_value to not do deep indifferent access conversion. DISCUSS: Should we make this configurable ?
22 23 24 |
# File 'lib/trailblazer/context/store/indifferent_access.rb', line 22 def indifferent_value(value) value end |