Class: OnlinePayments::SDK::Client
- Inherits:
-
ApiResource
- Object
- ApiResource
- OnlinePayments::SDK::Client
- Includes:
- Logging::LoggingCapable
- Defined in:
- lib/onlinepayments/sdk/client.rb
Overview
payment 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) ⇒ OnlinePayments::SDK::Merchant::MerchantClient
Resource /v2/{merchantId}.
-
#with_client_meta_info(client_meta_info) ⇒ OnlinePayments::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.
29 30 31 |
# File 'lib/onlinepayments/sdk/client.rb', line 29 def initialize(communicator, = nil) super(communicator, nil, ) end |
Class Method Details
.API_VERSION ⇒ String
23 24 25 |
# File 'lib/onlinepayments/sdk/client.rb', line 23 def self.API_VERSION 'v2' end |
Instance Method Details
#close ⇒ Object
Releases any system resources associated with this object.
68 69 70 |
# File 'lib/onlinepayments/sdk/client.rb', line 68 def close @communicator.close end |
#close_expired_connections ⇒ Object
Utility method that delegates the call to this client’s communicator.
52 53 54 |
# File 'lib/onlinepayments/sdk/client.rb', line 52 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.
47 48 49 |
# File 'lib/onlinepayments/sdk/client.rb', line 47 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end |
#disable_logging ⇒ Object
Turns off logging.
63 64 65 |
# File 'lib/onlinepayments/sdk/client.rb', line 63 def disable_logging @communicator.disable_logging end |
#enable_logging(communicator_logger) ⇒ Object
Turns on logging using the given communicator logger.
58 59 60 |
# File 'lib/onlinepayments/sdk/client.rb', line 58 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end |
#merchant(merchant_id) ⇒ OnlinePayments::SDK::Merchant::MerchantClient
Resource /v2/{merchantId}
75 76 77 78 79 |
# File 'lib/onlinepayments/sdk/client.rb', line 75 def merchant(merchant_id) OnlinePayments::SDK::Merchant::MerchantClient.new(self, { 'merchantId'.freeze => merchant_id }) end |
#with_client_meta_info(client_meta_info) ⇒ OnlinePayments::SDK::Client
Returns a Client which uses the passed meta data for the X-GCS-ClientMetaInfo header.
36 37 38 39 40 41 42 43 44 |
# File 'lib/onlinepayments/sdk/client.rb', line 36 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 |