Module: MyERP::Crud

Instance Method Summary collapse

Instance Method Details

#allObject



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

#findAllObject



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