Class: Fakturoid::Client::Subject

Inherits:
Api
  • Object
show all
Defined in:
lib/fakturoid/client/subject.rb

Class Method Summary collapse

Methods inherited from Api

config, configure

Methods included from Api::Arguments

#permit_params, #validate_numerical_id, #validate_search_query

Methods included from Api::HttpMethods

#delete_request, #get_request, #patch_request, #post_request

Class Method Details

.all(params = {}) ⇒ Object



4
5
6
7
8
# File 'lib/fakturoid/client/subject.rb', line 4

def self.all(params = {})
  request_params = permit_params(params, :page, :since, :updated_since, :custom_id) || {}

  get_request('subjects.json', request_params: request_params)
end

.create(payload = {}) ⇒ Object



20
21
22
# File 'lib/fakturoid/client/subject.rb', line 20

def self.create(payload = {})
  post_request('subjects.json', payload: payload)
end

.delete(id) ⇒ Object



29
30
31
32
# File 'lib/fakturoid/client/subject.rb', line 29

def self.delete(id)
  validate_numerical_id(id)
  delete_request("subjects/#{id}.json")
end

.find(id) ⇒ Object



10
11
12
13
# File 'lib/fakturoid/client/subject.rb', line 10

def self.find(id)
  validate_numerical_id(id)
  get_request("subjects/#{id}.json")
end

.search(query) ⇒ Object



15
16
17
18
# File 'lib/fakturoid/client/subject.rb', line 15

def self.search(query)
  validate_search_query(query)
  get_request('subjects/search.json', request_params: { query: query })
end

.update(id, payload = {}) ⇒ Object



24
25
26
27
# File 'lib/fakturoid/client/subject.rb', line 24

def self.update(id, payload = {})
  validate_numerical_id(id)
  patch_request("subjects/#{id}.json", payload: payload)
end