Class: FrilansFinansAPI::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/frilans_finans_api/client/request.rb

Constant Summary collapse

USER_AGENT =
{
  'User-Agent' => 'FrilansFinansAPI - Ruby client'
}.freeze
HEADERS =
{
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.api.v2+json'
}.merge!(USER_AGENT).freeze
GRANT_TYPE =
'client_credentials'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_uri: nil, client_id: nil, client_secret: nil) ⇒ Request

Returns a new instance of Request.



20
21
22
23
24
25
26
27
28
# File 'lib/frilans_finans_api/client/request.rb', line 20

def initialize(base_uri: nil, client_id: nil, client_secret: nil)
  @base_uri = base_uri || FrilansFinansAPI.config.base_uri
  @credentials = {
    grant_type: GRANT_TYPE,
    client_id: client_id || FrilansFinansAPI.config.client_id,
    client_secret: client_secret || FrilansFinansAPI.config.client_secret
  }
  @access_token = nil
end

Instance Attribute Details

#access_tokenObject (readonly)

Returns the value of attribute access_token.



18
19
20
# File 'lib/frilans_finans_api/client/request.rb', line 18

def access_token
  @access_token
end

#base_uriObject (readonly)

Returns the value of attribute base_uri.



18
19
20
# File 'lib/frilans_finans_api/client/request.rb', line 18

def base_uri
  @base_uri
end

#credentialsObject (readonly)

Returns the value of attribute credentials.



18
19
20
# File 'lib/frilans_finans_api/client/request.rb', line 18

def credentials
  @credentials
end

Instance Method Details

#_get(uri:, query: {}) ⇒ Object



48
49
50
51
52
53
# File 'lib/frilans_finans_api/client/request.rb', line 48

def _get(uri:, query: {})
  opts = build_get_opts(query: query)
  response = HTTParty.get("#{base_uri}#{uri}", opts)
  log_response(:get, uri: uri, params: opts, response: response)
  response
end

#_patch(uri:, query: {}, body: {}) ⇒ Object



62
63
64
65
66
67
# File 'lib/frilans_finans_api/client/request.rb', line 62

def _patch(uri:, query: {}, body: {})
  opts = build_post_opts(query: query, body: body)
  response = HTTParty.patch("#{base_uri}#{uri}", opts)
  log_response(:patch, uri: uri, params: opts, response: response)
  response
end

#_post(uri:, query: {}, body: {}) ⇒ Object



55
56
57
58
59
60
# File 'lib/frilans_finans_api/client/request.rb', line 55

def _post(uri:, query: {}, body: {})
  opts = build_post_opts(query: query, body: body)
  response = HTTParty.post("#{base_uri}#{uri}", opts)
  log_response(:post, uri: uri, params: opts, response: response)
  response
end

#get(uri:, query: {}) ⇒ Object



30
31
32
33
34
# File 'lib/frilans_finans_api/client/request.rb', line 30

def get(uri:, query: {})
  authorized_request do
    _get(uri: uri, query: query)
  end
end

#patch(uri:, query: {}, body: {}) ⇒ Object



42
43
44
45
46
# File 'lib/frilans_finans_api/client/request.rb', line 42

def patch(uri:, query: {}, body: {})
  authorized_request do
    _patch(uri: uri, query: query, body: body.to_json)
  end
end

#post(uri:, query: {}, body: {}) ⇒ Object



36
37
38
39
40
# File 'lib/frilans_finans_api/client/request.rb', line 36

def post(uri:, query: {}, body: {})
  authorized_request do
    _post(uri: uri, query: query, body: body.to_json)
  end
end