Module: Xero::Api::Methods

Included in:
Xero::Api
Defined in:
lib/xero/api/methods.rb

Instance Method Summary collapse

Instance Method Details

#create(entity, payload:, params: nil, path: nil) ⇒ Object



14
15
16
17
# File 'lib/xero/api/methods.rb', line 14

def create(entity, payload:, params: nil, path: nil)
  route = build_resource(entity, params: params, path: path)
  request(:put, path: route, entity: entity, payload: payload)
end

#delete(entity, id:, params: nil, path: nil) ⇒ Object



25
26
27
28
# File 'lib/xero/api/methods.rb', line 25

def delete(entity, id:, params: nil, path: nil)
  route = build_resource(entity, id: id, path: path)
  request(:delete, path: route, entity: entity)
end

#get(entity, all: false, id: nil, params: nil, headers: nil, path: nil, modified_since: nil, parse_entity: true) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/xero/api/methods.rb', line 4

def get(entity, all: false, id: nil, params: nil, headers: nil, path: nil, modified_since: nil, parse_entity: true)
  route = build_resource(entity, id: id, params: params, path: path)
  final_headers = handle_headers(headers, modified_since)
  if all
    enumerator = get_all(entity, path: route, headers: final_headers, parse_entity: parse_entity)
  else
    request(:get, path: route, entity: entity, headers: final_headers, parse_entity: parse_entity)
  end
end

#update(entity, id:, payload:, params: nil, path: nil) ⇒ Object



19
20
21
22
23
# File 'lib/xero/api/methods.rb', line 19

def update(entity, id:, payload:, params: nil, path: nil)
  route = build_resource(entity, id: id, params: params, path: path)
  payload.merge!({ "Id": id })
  request(:post, path: route, entity: entity, payload: payload)
end