Class: OnlinePayments::SDK::Factory
- Inherits:
-
Object
- Object
- OnlinePayments::SDK::Factory
- Defined in:
- lib/onlinepayments/sdk/factory.rb
Overview
Convenience class that constructs instances of several other classes in the SDK. Provides methods to construct CommunicatorConfiguration, Communicator and Client instances.
Class Method Summary collapse
-
.create_client_from_communicator(communicator) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform.
-
.create_client_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform.
-
.create_client_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform.
-
.create_communicator_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Communicator
Creates and returns a Communicator from a CommunicatorConfiguration, a Communication::MetadataProvider, a Communication::Connection, an Authentication::Authenticator and a JSON::Marshaller.
-
.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Communicator
Creates and returns a Communicator from a file containing the communicator configuration, api_key_id, secret_api_key, a Communication::MetadataProvider, a Communication::Connection.
-
.create_configuration(configuration_file_name, api_key_id, secret_api_key) ⇒ OnlinePayments::SDK::CommunicatorConfiguration
Creates and returns a CommunicatorConfiguration based on the configuration in the file located at configuration_file_name.
Class Method Details
.create_client_from_communicator(communicator) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform. If a code block is given, the created client is returned to the code block and closed afterwards.
123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/onlinepayments/sdk/factory.rb', line 123 def self.create_client_from_communicator(communicator) client = Client.new(communicator) if block_given? begin yield client ensure client.close end else return client end end |
.create_client_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform. If a code block is given, the created client is returned to the code block and closed afterwards.
97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/onlinepayments/sdk/factory.rb', line 97 def self.create_client_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) communicator = create_communicator_from_configuration(configuration, metadata_provider: , connection: connection, authenticator: authenticator, marshaller: marshaller) client = Client.new(communicator) if block_given? begin yield client ensure client.close end else return client end end |
.create_client_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Client
Creates and returns an Client that provides the a high-level interface with the Online Payments platform. If a code block is given, the created client is returned to the code block and closed afterwards.
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/onlinepayments/sdk/factory.rb', line 153 def self.create_client_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) communicator = create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: , connection: connection, authenticator: authenticator, marshaller: marshaller) client = Client.new(communicator) if block_given? begin yield client ensure client.close end else return client end end |
.create_communicator_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Communicator
Creates and returns a Communicator from a CommunicatorConfiguration, a Communication::MetadataProvider, a Communication::Connection, an Authentication::Authenticator and a JSON::Marshaller.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/onlinepayments/sdk/factory.rb', line 42 def self.create_communicator_from_configuration(configuration, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) unless = Communication::MetadataProvider.new(configuration.integrator, shopping_cart_extension: configuration.shopping_cart_extension) end unless connection connection = Communication::DefaultConnection.new({ connect_timeout: configuration.connect_timeout, socket_timeout: configuration.socket_timeout, max_connections: configuration.max_connections, proxy_configuration: configuration.proxy_configuration }) end unless authenticator authenticator = get_authenticator(configuration) end unless marshaller marshaller = JSON::DefaultMarshaller.instance end Communicator.new(configuration.api_endpoint, connection, authenticator, , marshaller) end |
.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) ⇒ OnlinePayments::SDK::Communicator
Creates and returns a Communicator from a file containing the communicator configuration, api_key_id, secret_api_key, a Communication::MetadataProvider, a Communication::Connection. an Authentication::Authenticator and a JSON::Marshaller.
75 76 77 78 79 80 |
# File 'lib/onlinepayments/sdk/factory.rb', line 75 def self.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key, metadata_provider: nil, connection: nil, authenticator: nil, marshaller: nil) configuration = create_configuration(configuration_file_name, api_key_id, secret_api_key) create_communicator_from_configuration(configuration, metadata_provider: , connection: connection, authenticator: authenticator, marshaller: marshaller) end |
.create_configuration(configuration_file_name, api_key_id, secret_api_key) ⇒ OnlinePayments::SDK::CommunicatorConfiguration
Creates and returns a CommunicatorConfiguration based on the configuration in the file located at configuration_file_name.
25 26 27 28 29 30 |
# File 'lib/onlinepayments/sdk/factory.rb', line 25 def self.create_configuration(configuration_file_name, api_key_id, secret_api_key) properties = YAML::load_file(configuration_file_name) CommunicatorConfiguration.new(properties: properties, api_key_id: api_key_id, secret_api_key: secret_api_key) end |