module MyERP::Crud
Public Instance Methods
all()
click to toggle source
# File lib/myerp/crud.rb, line 4 def all() limit = 100; page = 0; res = []; loop do resp = request(:get, credentials, api_model.api_path, :query => { :offset => page * limit, :limit => limit }) page = page + 1 res += api_model.parse(resp.parsed_response) break if resp.headers['X-MyERP-Has-Next-Page'] != "true" end res end
delete(model)
click to toggle source
# File lib/myerp/crud.rb, line 35 def delete(model) raise "model unsaved" unless !model.new? resp = request(:delete, credentials, "#{api_model.api_path}/#{model.to_i}") api_model.parse(resp.parsed_response).first end
find(id)
click to toggle source
# File lib/myerp/crud.rb, line 19 def find(id) raise "id required" unless id resp = request(:get, credentials, "#{api_model.api_path}/#{id}") api_model.parse(resp.parsed_response).first end
findAll()
click to toggle source
# File lib/myerp/crud.rb, line 15 def findAll() all() end
save(model)
click to toggle source
# File lib/myerp/crud.rb, line 25 def save(model) model = api_model.wrap(model) if model.new? resp = request(:post, credentials, "#{api_model.api_path}", :body => model.to_json) else resp = request(:put, credentials, "#{api_model.api_path}/#{model.to_i}", :body => model.to_json) end api_model.parse(resp.parsed_response).first end