Class: Rexpense::Resources::ResourceBase

Inherits:
Base
  • Object
show all
Defined in:
lib/rexpense/resources/resource_base.rb

Overview

A wrapper to Rexpense resources API

API

Documentation: developers.rexpense.com/api/v1/expenses/ Documentation: developers.rexpense.com/api/v1/advancements/ Documentation: developers.rexpense.com/api/v1/reimbursements/

Instance Attribute Summary

Attributes inherited from Base

#http

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Rexpense::Resources::Base

Instance Method Details

#create(params) ⇒ Object

Create a resource

API

Method: POST /api/v1/expenses Method: POST /api/v1/advancements Method: POST /api/v1/reimbursements

Documentation: developers.rexpense.com/api/v1/expenses/#create Documentation: developers.rexpense.com/api/v1/advancements/#create Documentation: developers.rexpense.com/api/v1/reimbursements/#create



62
63
64
65
66
# File 'lib/rexpense/resources/resource_base.rb', line 62

def create(params)
  http.post("#{endpoint_base}", body: params) do |response|
    respond_with_object response
  end
end

#destroy(id) ⇒ Object

Destroy a resource

API

Method: DELETE /api/v1/expenses/:id Method: DELETE /api/v1/advancements/:id Method: DELETE /api/v1/reimbursements/:id

Documentation: developers.rexpense.com/api/v1/expenses/#destroy Documentation: developers.rexpense.com/api/v1/advancements/#destroy Documentation: developers.rexpense.com/api/v1/reimbursements/#destroy



98
99
100
101
102
# File 'lib/rexpense/resources/resource_base.rb', line 98

def destroy(id)
  http.delete("#{endpoint_base}/#{id}", body: {}) do |response|
    true
  end
end

#find(id) ⇒ Object

Find a resource

API

Method: GET /api/v1/expenses/:id Method: GET /api/v1/advancements/:id Method: GET /api/v1/reimbursements/:id

Documentation: developers.rexpense.com/api/v1/expenses/#show Documentation: developers.rexpense.com/api/v1/advancements/#show Documentation: developers.rexpense.com/api/v1/reimbursements/#show



44
45
46
47
48
# File 'lib/rexpense/resources/resource_base.rb', line 44

def find(id)
  http.get("#{endpoint_base}/#{id}", body: {}) do |response|
    respond_with_object response
  end
end

#find_all(params = {}) ⇒ Object

List all resources

API

Method: GET /api/v1/expenses Method: GET /api/v1/advancements Method: GET /api/v1/reimbursements

Documentation: developers.rexpense.com/api/v1/expenses/#index Documentation: developers.rexpense.com/api/v1/advancements/#index Documentation: developers.rexpense.com/api/v1/reimbursements/#index



24
25
26
27
28
29
30
# File 'lib/rexpense/resources/resource_base.rb', line 24

def find_all(params = {})
  search_endpoint = build_search_endpoint(params)

  http.get(search_endpoint) do |response|
    respond_with_collection(response)
  end
end

#update(id, params = {}) ⇒ Object

Updates a resource

API

Method: PATCH /api/v1/expenses/:id Method: PATCH /api/v1/advancements/:id Method: PATCH /api/v1/reimbursements/:id

Documentation: developers.rexpense.com/api/v1/expenses/#update Documentation: developers.rexpense.com/api/v1/advancements/#update Documentation: developers.rexpense.com/api/v1/reimbursements/#update



80
81
82
83
84
# File 'lib/rexpense/resources/resource_base.rb', line 80

def update(id, params = {})
  http.patch("#{endpoint_base}/#{id}", body: params) do |response|
    respond_with_object response
  end
end