Module: KYCAID::Client

Included in:
Address, Applicant, Document, File, Verification
Defined in:
lib/kycaid/client.rb

Overview

Client contins REST API and handles content type and injecting Authorization token.

Instance Method Summary collapse

Instance Method Details

#connObject

Returns Faraday connection with authorization header containing token.



5
6
7
8
9
# File 'lib/kycaid/client.rb', line 5

def conn
  @conn ||= Faraday.new(url: KYCAID.configuration.api_endpoint).tap do |faraday|
    faraday.authorization("Token", KYCAID.configuration.authorization_token)
  end
end

#file_payload(params = {}) ⇒ Object

Returns multipart data body params.



52
53
54
55
56
57
58
59
60
# File 'lib/kycaid/client.rb', line 52

def file_payload(params={})
  file = Faraday::UploadIO.new(
    params[:tempfile].path,
    params[:content_type],
    params[:original_filename]
  )
  payload = { :file => file }.merge(sandbox: sandbox?)
  payload
end

#file_post(url, params = {}) ⇒ Object

Performs a post request with multipart data, adds sandbox flag to request.



42
43
44
# File 'lib/kycaid/client.rb', line 42

def file_post(url, params={})
  multipart_conn.post(url, file_payload(params))
end

#file_put(url, params = {}) ⇒ Object

Performs a put request with multipart data, adds sandbox flag to request.



47
48
49
# File 'lib/kycaid/client.rb', line 47

def file_put(url, params={})
  multipart_conn.put(url, file_payload(params))
end

#get(url, options = {}) ⇒ Object

Performs a get request, adds sandbox flag to request.



27
28
29
# File 'lib/kycaid/client.rb', line 27

def get(url, options={})
  conn.get(url, options.merge(sandbox: sandbox?))
end

#multipart_connObject

Returns Faraday connection for multipart data uploading with authorization header containing token.



12
13
14
15
16
17
18
19
# File 'lib/kycaid/client.rb', line 12

def multipart_conn
  @multipart_conn ||= Faraday.new(url: KYCAID.configuration.api_endpoint) do |faraday|
    faraday.request :multipart
    faraday.request :url_encoded
    faraday.adapter Faraday.default_adapter
    faraday.authorization("Token", KYCAID.configuration.authorization_token)
  end
end

#patch(url, params = {}) ⇒ Object

Performs a patch request, adds sandbox flag to request.



37
38
39
# File 'lib/kycaid/client.rb', line 37

def patch(url, params={})
  conn.patch(url, params.merge(sandbox: sandbox?))
end

#post(url, params = {}) ⇒ Object

Performs a post request, adds sandbox flag to request.



32
33
34
# File 'lib/kycaid/client.rb', line 32

def post(url, params={})
  conn.post(url, params.merge(sandbox: sandbox?))
end

#sandbox?Boolean

Returns true if sandbox mode is set.

Returns:

  • (Boolean)


22
23
24
# File 'lib/kycaid/client.rb', line 22

def sandbox?
  KYCAID.configuration.sandbox_mode
end