class FrilansFinansAPI::Client
Attributes
request[R]
Public Class Methods
new(base_uri: nil, client_id: nil, client_secret: nil)
click to toggle source
# 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
Public Instance Methods
create_company(attributes: {})
click to toggle source
# 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: {})
click to toggle source
# 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: {})
click to toggle source
# 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: {})
click to toggle source
# 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)
click to toggle source
# 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:)
click to toggle source
# File lib/frilans_finans_api/client/client.rb, line 39 def invoice(id:) request.get(uri: "/invoices/#{id}") end
profession(id:)
click to toggle source
# File lib/frilans_finans_api/client/client.rb, line 47 def profession(id:) request.get(uri: "/professions/#{id}") end
professions(page: 1)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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: {})
click to toggle source
# 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: {})
click to toggle source
# 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:)
click to toggle source
# File lib/frilans_finans_api/client/client.rb, line 43 def user(id:) request.get(uri: "/users/#{id}") end
users(page: 1, email: nil)
click to toggle source
# 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
Private Instance Methods
build_attributes(attributes)
click to toggle source
# File lib/frilans_finans_api/client/client.rb, line 77 def build_attributes(attributes) { data: { attributes: attributes } } end
build_query(page:, filter: {})
click to toggle source
# File lib/frilans_finans_api/client/client.rb, line 81 def build_query(page:, filter: {}) { page: { number: page }, filter: filter } end