class Ingenico::Connect::SDK::Client
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.
Public Class Methods
@return [String]
# File lib/ingenico/connect/sdk/client.rb, line 26 def self.API_VERSION 'v1' end
@param communicator [Ingenico::Connect::SDK::Communicator] @param client_meta_info [String]
Ingenico::Connect::SDK::ApiResource::new
# File lib/ingenico/connect/sdk/client.rb, line 32 def initialize(communicator, client_meta_info=nil) super(communicator, nil, client_meta_info) end
Public Instance Methods
Releases any system resources associated with this object.
# File lib/ingenico/connect/sdk/client.rb, line 78 def close @communicator.close end
Utility method that delegates the call to this client's communicator.
# File lib/ingenico/connect/sdk/client.rb, line 62 def close_expired_connections @communicator.close_expired_connections end
Utility method that delegates the call to this client's communicator.
# File lib/ingenico/connect/sdk/client.rb, line 57 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end
Turns off logging.
# File lib/ingenico/connect/sdk/client.rb, line 73 def disable_logging @communicator.disable_logging end
Turns on logging using the given communicator logger. @param communicator_logger [Ingenico::Connect::SDK::Logging::CommunicatorLogger]
# File lib/ingenico/connect/sdk/client.rb, line 68 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end
Resource /!{merchantId} @param merchant_id [String] @return [Ingenico::Connect::SDK::Merchant::MerchantClient]
# File lib/ingenico/connect/sdk/client.rb, line 85 def merchant(merchant_id) Ingenico::Connect::SDK::Merchant::MerchantClient.new(self, { 'merchantId'.freeze => merchant_id, }) end
@param client_meta_info [String] JSON string containing the meta data for the client @return [Ingenico::Connect::SDK::Client] a Client
which uses the passed meta data for the X-GCS-ClientMetaInfo header. @raise [Ingenico::Connect::SDK::MarshallerSyntaxException] if the given clientMetaInfo is not a valid JSON string
# File lib/ingenico/connect/sdk/client.rb, line 39 def with_client_meta_info(client_meta_info) if @client_meta_info.nil? && client_meta_info.nil? self elsif client_meta_info.nil? return Client.new(@communicator, nil) else # Checking to see if this is valid JSON (no JSON parse exceptions) @communicator.marshaller.unmarshal(client_meta_info, DataObject) client_meta_info = Base64.strict_encode64(client_meta_info) if @client_meta_info == client_meta_info self else return Client.new(@communicator, client_meta_info) end end end