Class: DataStore
- Inherits:
-
Hash
- Object
- Hash
- DataStore
- Defined in:
- lib/ensconce/data_store.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
Returns the value of attribute params.
-
#settings ⇒ Object
Returns the value of attribute settings.
Class Method Summary collapse
Instance Method Summary collapse
- #adapter ⇒ Object
- #get ⇒ Object
-
#initialize(settings_object, params = {}) ⇒ DataStore
constructor
A new instance of DataStore.
- #save ⇒ Object
Constructor Details
#initialize(settings_object, params = {}) ⇒ DataStore
Returns a new instance of DataStore.
5 6 7 8 9 10 11 |
# File 'lib/ensconce/data_store.rb', line 5 def initialize(settings_object, params = {}) super() data = params.delete(:data) @params = params @settings = settings_object replace data if data end |
Instance Attribute Details
#params ⇒ Object
Returns the value of attribute params.
3 4 5 |
# File 'lib/ensconce/data_store.rb', line 3 def params @params end |
#settings ⇒ Object
Returns the value of attribute settings.
3 4 5 |
# File 'lib/ensconce/data_store.rb', line 3 def settings @settings end |
Class Method Details
.adapter ⇒ Object
37 38 39 |
# File 'lib/ensconce/data_store.rb', line 37 def self.adapter @adapter_klass end |
.adapter=(klass) ⇒ Object
33 34 35 |
# File 'lib/ensconce/data_store.rb', line 33 def self.adapter=(klass) @adapter_klass = klass end |
.open(settings_object, params = {}) ⇒ Object
27 28 29 30 31 |
# File 'lib/ensconce/data_store.rb', line 27 def self.open(settings_object, params = {}) data_store = new settings_object, params data_store.get return data_store end |
Instance Method Details
#adapter ⇒ Object
18 19 20 |
# File 'lib/ensconce/data_store.rb', line 18 def adapter @adapter ||= self.class.adapter.for(settings, params) end |
#get ⇒ Object
22 23 24 |
# File 'lib/ensconce/data_store.rb', line 22 def get replace adapter.get.merge(self) end |
#save ⇒ Object
13 14 15 16 |
# File 'lib/ensconce/data_store.rb', line 13 def save raise "adapter must be specifed" unless adapter adapter.push({}.merge(self)) end |