class Ingenico::Direct::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/direct/sdk/client.rb, line 25 def self.API_VERSION 'v2' end
@param communicator [Ingenico::Direct::SDK::Communicator] @param client_meta_info [String, nil]
Ingenico::Direct::SDK::ApiResource::new
# File lib/ingenico/direct/sdk/client.rb, line 31 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/direct/sdk/client.rb, line 70 def close @communicator.close end
Utility method that delegates the call to this client's communicator.
# File lib/ingenico/direct/sdk/client.rb, line 54 def close_expired_connections @communicator.close_expired_connections end
Utility method that delegates the call to this client's communicator.
# File lib/ingenico/direct/sdk/client.rb, line 49 def close_idle_connections(idle_time) @communicator.close_idle_connections(idle_time) end
Turns off logging.
# File lib/ingenico/direct/sdk/client.rb, line 65 def disable_logging @communicator.disable_logging end
Turns on logging using the given communicator logger. @param communicator_logger [Ingenico::Direct::SDK::Logging::CommunicatorLogger]
# File lib/ingenico/direct/sdk/client.rb, line 60 def enable_logging(communicator_logger) @communicator.enable_logging(communicator_logger) end
Resource /v2/!{merchantId} @param merchant_id [String] @return [Ingenico::Direct::SDK::Merchant::MerchantClient]
# 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
@param client_meta_info [String, nil] JSON string containing the meta data for the client @return [Ingenico::Direct::SDK::Client] a Client
which uses the passed meta data for the X-GCS-ClientMetaInfo header. @raise [Ingenico::Direct::SDK::MarshallerSyntaxException] if the given clientMetaInfo is not a valid JSON string
# File lib/ingenico/direct/sdk/client.rb, line 38 def with_client_meta_info(client_meta_info) if client_meta_info # 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) return @client_meta_info == client_meta_info ? self : Client.new(@communicator, client_meta_info) end @client_meta_info ? Client.new(@communicator) : self end