Class: Ingenico::Direct::SDK::Client
- Inherits:
-
ApiResource
- Object
- ApiResource
- Ingenico::Direct::SDK::Client
- Includes:
- Logging::LoggingCapable
- Defined in:
- lib/ingenico/direct/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::Direct::SDK::Merchant::MerchantClient
Resource /v2/{merchantId}.
-
#with_client_meta_info(client_meta_info) ⇒ Ingenico::Direct::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.
31 32 33 |
# File 'lib/ingenico/direct/sdk/client.rb', line 31 def initialize(communicator, = nil) super(communicator, nil, ) end |
Class Method Details
.API_VERSION ⇒ String
25 26 27 |
# File 'lib/ingenico/direct/sdk/client.rb', line 25 def self.API_VERSION 'v2' end |
Instance Method Details
#close ⇒ Object
Releases any system resources associated with this object.
70 71 72 |
# File 'lib/ingenico/direct/sdk/client.rb', line 70 def close @communicator.close end |
#close_expired_connections ⇒ Object
Utility method that delegates the call to this client’s communicator.
54 55 56 |
# File 'lib/ingenico/direct/sdk/client.rb', line 54 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.
49 50 51 |
# File 'lib/ingenico/direct/sdk/client.rb', line 49 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end |
#disable_logging ⇒ Object
Turns off logging.
65 66 67 |
# File 'lib/ingenico/direct/sdk/client.rb', line 65 def disable_logging @communicator.disable_logging end |
#enable_logging(communicator_logger) ⇒ Object
Turns on logging using the given communicator logger.
60 61 62 |
# File 'lib/ingenico/direct/sdk/client.rb', line 60 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end |
#merchant(merchant_id) ⇒ Ingenico::Direct::SDK::Merchant::MerchantClient
Resource /v2/{merchantId}
77 78 79 80 81 |
# File 'lib/ingenico/direct/sdk/client.rb', line 77 def merchant(merchant_id) Ingenico::Direct::SDK::Merchant::MerchantClient.new(self, { 'merchantId'.freeze => merchant_id }) end |
#with_client_meta_info(client_meta_info) ⇒ Ingenico::Direct::SDK::Client
Returns a Client which uses the passed meta data for the X-GCS-ClientMetaInfo header.
38 39 40 41 42 43 44 45 46 |
# File 'lib/ingenico/direct/sdk/client.rb', line 38 def () if # Checking to see if this is valid JSON (no JSON parse exceptions) @communicator.marshaller.unmarshal(, DataObject) = Base64.strict_encode64() return @client_meta_info == ? self : Client.new(@communicator, ) end @client_meta_info ? Client.new(@communicator) : self end |