Class: FrilansFinansAPI::Client
- Inherits:
-
Object
- Object
- FrilansFinansAPI::Client
- Defined in:
- lib/frilans_finans_api/client/client.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
- #create_company(attributes: {}) ⇒ Object
- #create_employment_certificate(attributes: {}) ⇒ Object
- #create_invoice(attributes: {}) ⇒ Object
- #create_user(attributes: {}) ⇒ Object
- #currencies(page: 1) ⇒ Object
-
#initialize(base_uri: nil, client_id: nil, client_secret: nil) ⇒ Client
constructor
A new instance of Client.
- #invoice(id:) ⇒ Object
- #profession(id:) ⇒ Object
- #professions(page: 1) ⇒ Object
- #salaries(invoice_id:, page: 1) ⇒ Object
- #taxes(page: 1, only_standard: false) ⇒ Object
- #update_invoice(id:, attributes: {}) ⇒ Object
- #update_user(id:, attributes: {}) ⇒ Object
- #user(id:) ⇒ Object
- #users(page: 1, email: nil) ⇒ Object
Constructor Details
#initialize(base_uri: nil, client_id: nil, client_secret: nil) ⇒ Client
9 10 11 12 13 14 15 |
# File 'lib/frilans_finans_api/client/client.rb', line 9 def initialize(base_uri: nil, client_id: nil, client_secret: nil) @request = Request.new( base_uri: base_uri, client_id: client_id, client_secret: client_secret ) end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
7 8 9 |
# File 'lib/frilans_finans_api/client/client.rb', line 7 def request @request end |
Instance Method Details
#create_company(attributes: {}) ⇒ Object
55 56 57 |
# File 'lib/frilans_finans_api/client/client.rb', line 55 def create_company(attributes: {}) request.post(uri: '/companies', body: build_attributes(attributes)) end |
#create_employment_certificate(attributes: {}) ⇒ Object
59 60 61 |
# File 'lib/frilans_finans_api/client/client.rb', line 59 def create_employment_certificate(attributes: {}) request.post(uri: '/employment-certificate', body: build_attributes(attributes)) end |
#create_invoice(attributes: {}) ⇒ Object
63 64 65 |
# File 'lib/frilans_finans_api/client/client.rb', line 63 def create_invoice(attributes: {}) request.post(uri: '/invoices', body: build_attributes(attributes)) end |
#create_user(attributes: {}) ⇒ Object
51 52 53 |
# File 'lib/frilans_finans_api/client/client.rb', line 51 def create_user(attributes: {}) request.post(uri: '/users', body: build_attributes(attributes)) end |
#currencies(page: 1) ⇒ Object
17 18 19 |
# File 'lib/frilans_finans_api/client/client.rb', line 17 def currencies(page: 1) request.get(uri: '/currencies', query: build_query(page: page)) end |
#invoice(id:) ⇒ Object
39 40 41 |
# File 'lib/frilans_finans_api/client/client.rb', line 39 def invoice(id:) request.get(uri: "/invoices/#{id}") end |
#profession(id:) ⇒ Object
47 48 49 |
# File 'lib/frilans_finans_api/client/client.rb', line 47 def profession(id:) request.get(uri: "/professions/#{id}") end |
#professions(page: 1) ⇒ Object
21 22 23 |
# File 'lib/frilans_finans_api/client/client.rb', line 21 def professions(page: 1) request.get(uri: '/professions', query: build_query(page: page)) end |
#salaries(invoice_id:, page: 1) ⇒ Object
25 26 27 |
# File 'lib/frilans_finans_api/client/client.rb', line 25 def salaries(invoice_id:, page: 1) request.get(uri: "/invoices/#{invoice_id}/salaries", query: build_query(page: page)) end |
#taxes(page: 1, only_standard: false) ⇒ Object
34 35 36 37 |
# File 'lib/frilans_finans_api/client/client.rb', line 34 def taxes(page: 1, only_standard: false) filter = only_standard ? { standard: 1 } : {} request.get(uri: '/taxes', query: build_query(page: page, filter: filter)) end |
#update_invoice(id:, attributes: {}) ⇒ Object
67 68 69 |
# File 'lib/frilans_finans_api/client/client.rb', line 67 def update_invoice(id:, attributes: {}) request.patch(uri: "/invoices/#{id}", body: build_attributes(attributes)) end |
#update_user(id:, attributes: {}) ⇒ Object
71 72 73 |
# File 'lib/frilans_finans_api/client/client.rb', line 71 def update_user(id:, attributes: {}) request.patch(uri: "/users/#{id}", body: build_attributes(attributes)) end |
#user(id:) ⇒ Object
43 44 45 |
# File 'lib/frilans_finans_api/client/client.rb', line 43 def user(id:) request.get(uri: "/users/#{id}") end |
#users(page: 1, email: nil) ⇒ Object
29 30 31 32 |
# File 'lib/frilans_finans_api/client/client.rb', line 29 def users(page: 1, email: nil) filter = email ? { email: email } : {} request.get(uri: '/users', query: build_query(page: page, filter: filter)) end |