Class: Amber::Storage::Json
- Inherits:
-
Amber::Storage
- Object
- Amber::Storage
- Amber::Storage::Json
- Includes:
- Amber::StorageDelegate
- Defined in:
- lib/amber/storage/json.rb
Instance Attribute Summary
Attributes inherited from Amber::Storage
Instance Method Summary collapse
- #delete(id) ⇒ Object
- #generate(data) ⇒ Object
- #get(id) ⇒ Object
-
#initialize(model, file_name) ⇒ Json
constructor
A new instance of Json.
- #parse(data) ⇒ Object
- #patch(id, model) ⇒ Object
- #post(model) ⇒ Object
- #refresh ⇒ Object
Constructor Details
#initialize(model, file_name) ⇒ Json
Returns a new instance of Json.
4 5 6 7 8 9 10 |
# File 'lib/amber/storage/json.rb', line 4 def initialize(model, file_name) super model, Amber::Storage::Driver::File.new(file_name) if @driver.mount @status = true end @data = {} end |
Instance Method Details
#delete(id) ⇒ Object
26 27 28 |
# File 'lib/amber/storage/json.rb', line 26 def delete(id) end |
#generate(data) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/amber/storage/json.rb', line 46 def generate(data) begin JSON.generate data rescue Exception => e p e end end |
#get(id) ⇒ Object
12 13 14 15 |
# File 'lib/amber/storage/json.rb', line 12 def get(id) self.refresh @data[id.to_s] end |
#parse(data) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/amber/storage/json.rb', line 38 def parse(data) begin JSON.parse data rescue Exception => e p e end end |
#patch(id, model) ⇒ Object
22 23 24 |
# File 'lib/amber/storage/json.rb', line 22 def patch(id, model) end |
#post(model) ⇒ Object
17 18 19 20 |
# File 'lib/amber/storage/json.rb', line 17 def post(model) self.refresh @data[model.id] end |
#refresh ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/amber/storage/json.rb', line 30 def refresh data = @driver.read data = self.parse data if data @data = data end end |