Class: Ibanity::Client
- Inherits:
-
Object
- Object
- Ibanity::Client
- Defined in:
- lib/ibanity/client.rb
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
readonly
Returns the value of attribute base_uri.
-
#signature_certificate ⇒ Object
readonly
Returns the value of attribute signature_certificate.
-
#signature_key ⇒ Object
readonly
Returns the value of attribute signature_key.
Instance Method Summary collapse
- #build_uri(path) ⇒ Object
- #delete(uri:, query_params: {}, customer_access_token: nil) ⇒ Object
- #get(uri:, query_params: {}, customer_access_token: nil) ⇒ Object
-
#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
constructor
A new instance of Client.
- #patch(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil) ⇒ Object
- #post(uri:, payload:, query_params: {}, customer_access_token: nil, idempotency_key: nil) ⇒ Object
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_uri ⇒ Object (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_certificate ⇒ Object (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_key ⇒ Object (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 |