class Ant::Server::Nanoservice::Datasource::JSONRepository
Public Class Methods
new(folder, id, id_generator)
click to toggle source
Calls superclass method
# File lib/ant/server/nanoservice/datasource/json_repository.rb, line 8 def initialize(folder, id, id_generator) @path = folder super(id, id_generator) end
Public Instance Methods
create_(data)
click to toggle source
# File lib/ant/server/nanoservice/datasource/json_repository.rb, line 20 def create_(data) store(data) data end
get(id)
click to toggle source
# File lib/ant/server/nanoservice/datasource/json_repository.rb, line 13 def get(id) path = full_path(id) raise(ObjectNotFound, id) unless File.file?(path) contents = File.read(path) JSON.parse(contents, symbolize_names: true) end
store(data)
click to toggle source
# File lib/ant/server/nanoservice/datasource/json_repository.rb, line 25 def store(data) id = data[@id] File.write(full_path(id), data.to_json) end
Private Instance Methods
full_path(id)
click to toggle source
# File lib/ant/server/nanoservice/datasource/json_repository.rb, line 32 def full_path(id) "#{@path}/#{id}.json" end