Module: MyERP::Crud
- Included in:
- API::Accounts, API::Currencies, API::Customers, API::ItemFamilies, API::Items, API::PaymentTerms, API::Projects, API::SalesOrders, API::Transactions
- Defined in:
- lib/myerp/crud.rb
Instance Method Summary collapse
Instance Method Details
#all ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# 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) ⇒ Object
35 36 37 38 39 |
# 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) ⇒ Object
19 20 21 22 23 |
# 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 ⇒ Object
15 16 17 |
# File 'lib/myerp/crud.rb', line 15 def findAll() all() end |
#save(model) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# 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 |