Class: Ingenico::Connect::SDK::Client
- Inherits:
-
ApiResource
- Object
- ApiResource
- Ingenico::Connect::SDK::Client
- Defined in:
- lib/ingenico/connect/sdk/client.rb
Overview
Ingenico ePayments platform client.
This client and all its child clients are bound to one specific value for the X-GCS-ClientMetaInfo header.
To get a new client with a different header value, use with_client_meta_info.
Thread safe.
Instance Attribute Summary
Attributes inherited from ApiResource
#client_meta_info, #communicator
Class Method Summary collapse
Instance Method Summary collapse
-
#close ⇒ Object
Releases any system resources associated with this object.
-
#close_expired_connections ⇒ Object
Utility method that delegates the call to this client’s communicator.
-
#close_idle_connections(idle_time) ⇒ Object
Utility method that delegates the call to this client’s communicator.
-
#disable_logging ⇒ Object
Turns off logging.
-
#enable_logging(communicator_logger) ⇒ Object
Turns on logging using the given communicator logger.
-
#initialize(communicator, client_meta_info = nil) ⇒ Client
constructor
A new instance of Client.
-
#merchant(merchant_id) ⇒ Ingenico::Connect::SDK::Merchant::MerchantClient
Resource /{merchantId}.
-
#set_body_obfuscator(body_obfuscator) ⇒ Object
Sets the current body obfuscator to use.
-
#set_header_obfuscator(header_obfuscator) ⇒ Object
Sets the current header obfuscator to use.
-
#with_client_meta_info(client_meta_info) ⇒ Ingenico::Connect::SDK::Client
A Client which uses the passed meta data for the X-GCS-ClientMetaInfo header.
Constructor Details
#initialize(communicator, client_meta_info = nil) ⇒ Client
Returns a new instance of Client.
33 34 35 |
# File 'lib/ingenico/connect/sdk/client.rb', line 33 def initialize(communicator, = nil) super(communicator, nil, ) end |
Class Method Details
.API_VERSION ⇒ String
27 28 29 |
# File 'lib/ingenico/connect/sdk/client.rb', line 27 def self.API_VERSION 'v1' end |
Instance Method Details
#close ⇒ Object
Releases any system resources associated with this object.
91 92 93 |
# File 'lib/ingenico/connect/sdk/client.rb', line 91 def close @communicator.close end |
#close_expired_connections ⇒ Object
Utility method that delegates the call to this client’s communicator.
63 64 65 |
# File 'lib/ingenico/connect/sdk/client.rb', line 63 def close_expired_connections @communicator.close_expired_connections end |
#close_idle_connections(idle_time) ⇒ Object
Utility method that delegates the call to this client’s communicator.
58 59 60 |
# File 'lib/ingenico/connect/sdk/client.rb', line 58 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end |
#disable_logging ⇒ Object
Turns off logging.
86 87 88 |
# File 'lib/ingenico/connect/sdk/client.rb', line 86 def disable_logging @communicator.disable_logging end |
#enable_logging(communicator_logger) ⇒ Object
Turns on logging using the given communicator logger.
81 82 83 |
# File 'lib/ingenico/connect/sdk/client.rb', line 81 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end |
#merchant(merchant_id) ⇒ Ingenico::Connect::SDK::Merchant::MerchantClient
Resource /{merchantId}
98 99 100 101 102 |
# File 'lib/ingenico/connect/sdk/client.rb', line 98 def merchant(merchant_id) Ingenico::Connect::SDK::Merchant::MerchantClient.new(self, { 'merchantId'.freeze => merchant_id, }) end |
#set_body_obfuscator(body_obfuscator) ⇒ Object
Sets the current body obfuscator to use.
69 70 71 |
# File 'lib/ingenico/connect/sdk/client.rb', line 69 def set_body_obfuscator(body_obfuscator) @communicator.set_body_obfuscator(body_obfuscator) end |
#set_header_obfuscator(header_obfuscator) ⇒ Object
Sets the current header obfuscator to use.
75 76 77 |
# File 'lib/ingenico/connect/sdk/client.rb', line 75 def set_header_obfuscator(header_obfuscator) @communicator.set_header_obfuscator(header_obfuscator) end |
#with_client_meta_info(client_meta_info) ⇒ Ingenico::Connect::SDK::Client
Returns a Client which uses the passed meta data for the X-GCS-ClientMetaInfo header.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/ingenico/connect/sdk/client.rb', line 40 def () if @client_meta_info.nil? && .nil? self elsif .nil? return Client.new(@communicator, nil) else # Checking to see if this is valid JSON (no JSON parse exceptions) @communicator.marshaller.unmarshal(, DataObject) = Base64.strict_encode64() if @client_meta_info == self else return Client.new(@communicator, ) end end end |