Class: Ibanity::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate:, key:, key_passphrase:, signature_certificate: nil, signature_certificate_id: nil, signature_key: nil, signature_key_passphrase: nil, api_scheme: "https", api_host: "api.ibanity.com", api_port: "443", ssl_ca_file: nil) ⇒ Client

Returns a new instance of Client.



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/ibanity/client.rb', line 6

def initialize(certificate:, key:, key_passphrase:, signature_certificate: nil, signature_certificate_id: nil, signature_key: nil, signature_key_passphrase: nil, api_scheme: "https", api_host: "api.ibanity.com", api_port: "443", ssl_ca_file: nil)
  @certificate           = OpenSSL::X509::Certificate.new(certificate)
  @key                   = OpenSSL::PKey::RSA.new(key, key_passphrase)
  if signature_certificate
    @signature_certificate    = OpenSSL::X509::Certificate.new(signature_certificate)
    @signature_certificate_id = signature_certificate_id
    @signature_key            = OpenSSL::PKey::RSA.new(signature_key, signature_key_passphrase)
  end
  @base_uri              = "#{api_scheme}://#{api_host}:#{api_port}"
  @ssl_ca_file           = ssl_ca_file
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



4
5
6
# File 'lib/ibanity/client.rb', line 4

def base_uri
  @base_uri
end

#signature_certificateObject (readonly)

Returns the value of attribute signature_certificate.



4
5
6
# File 'lib/ibanity/client.rb', line 4

def signature_certificate
  @signature_certificate
end

#signature_keyObject (readonly)

Returns the value of attribute signature_key.



4
5
6
# File 'lib/ibanity/client.rb', line 4

def signature_key
  @signature_key
end

Instance Method Details

#build_uri(path) ⇒ Object



38
39
40
# File 'lib/ibanity/client.rb', line 38

def build_uri(path)
  URI.join(@base_uri, path).to_s
end

#delete(uri:, query_params: {}, customer_access_token: nil) ⇒ Object



33
34
35
36
# File 'lib/ibanity/client.rb', line 33

def delete(uri:, query_params: {}, customer_access_token: nil)
  headers = build_headers(customer_access_token)
  execute(method: :delete, uri: uri, headers: headers, query_params: query_params)
end

#get(uri:, query_params: {}, customer_access_token: nil) ⇒ Object



18
19
20
21
# File 'lib/ibanity/client.rb', line 18

def get(uri:, query_params: {}, customer_access_token: nil)
  headers = build_headers(customer_access_token)
  execute(method: :get, uri: uri, headers: headers, query_params: query_params)
end

#patch(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil) ⇒ Object



28
29
30
31
# File 'lib/ibanity/client.rb', line 28

def patch(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil)
  headers = build_headers(customer_access_token, idempotency_key)
  execute(method: :patch, uri: uri, headers: headers, query_params: query_params, payload: payload)
end

#post(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil) ⇒ Object



23
24
25
26
# File 'lib/ibanity/client.rb', line 23

def post(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil)
  headers = build_headers(customer_access_token, idempotency_key)
  execute(method: :post, uri: uri, headers: headers, query_params: query_params, payload: payload)
end