Class: OnlinePayments::SDK::Client
- Inherits:
-
ApiResource
- Object
- ApiResource
- OnlinePayments::SDK::Client
- 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
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.
-
#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) ⇒ OnlinePayments::SDK::Client
A Client which uses the passed metadata for the X-GCS-ClientMetaInfo header.
Constructor Details
#initialize(communicator, client_meta_info = nil) ⇒ Client
Returns a new instance of Client.
27 28 29 |
# File 'lib/onlinepayments/sdk/client.rb', line 27 def initialize(communicator, = nil) super(communicator: communicator, client_meta_info: ) end |
Instance Method Details
#close ⇒ Object
Releases any system resources associated with this object.
85 86 87 |
# File 'lib/onlinepayments/sdk/client.rb', line 85 def close @communicator.close end |
#close_expired_connections ⇒ Object
Utility method that delegates the call to this client’s communicator.
57 58 59 |
# File 'lib/onlinepayments/sdk/client.rb', line 57 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.
52 53 54 |
# File 'lib/onlinepayments/sdk/client.rb', line 52 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end |
#disable_logging ⇒ Object
Turns off logging.
80 81 82 |
# File 'lib/onlinepayments/sdk/client.rb', line 80 def disable_logging @communicator.disable_logging end |
#enable_logging(communicator_logger) ⇒ Object
Turns on logging using the given communicator logger.
75 76 77 |
# File 'lib/onlinepayments/sdk/client.rb', line 75 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end |
#merchant(merchant_id) ⇒ OnlinePayments::SDK::Merchant::MerchantClient
Resource /v2/merchantId
93 94 95 96 97 |
# File 'lib/onlinepayments/sdk/client.rb', line 93 def merchant(merchant_id) OnlinePayments::SDK::Merchant::MerchantClient.new(self, { 'merchantId'.freeze => merchant_id, }) end |
#set_body_obfuscator(body_obfuscator) ⇒ Object
Sets the current body obfuscator to use.
63 64 65 |
# File 'lib/onlinepayments/sdk/client.rb', line 63 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.
69 70 71 |
# File 'lib/onlinepayments/sdk/client.rb', line 69 def set_header_obfuscator(header_obfuscator) @communicator.set_header_obfuscator(header_obfuscator) end |
#with_client_meta_info(client_meta_info) ⇒ OnlinePayments::SDK::Client
Returns a Client which uses the passed metadata for the X-GCS-ClientMetaInfo header.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/onlinepayments/sdk/client.rb', line 34 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 |