class Ingenico::Connect::SDK::Session

Contains networking and authentication data needed to communicate with the Ingenico ePayments platform

@attr_reader [URI::HTTP] api_endpoint The base URI to the Ingenico ePayments platform @attr_reader [Ingenico::Connect::SDK::Connection] connection Used to communicate with the Ingenico ePayments platform @attr_reader [Ingenico::Connect::SDK::Authenticator] authenticator Used for authenticating messages sent @attr_reader [Ingenico::Connect::SDK::MetaDataProvider] meta_data_provider Object containing information relevant for sending requests

Attributes

api_endpoint[R]
authenticator[R]
connection[R]
meta_data_provider[R]

Public Class Methods

new(api_endpoint, connection, authenticator, meta_data_provider) click to toggle source

Construct a new Session.

@param api_endpoint [String] the base URL to the Ingenico ePayments platform @param connection [Ingenico::Connect::SDK::Connection] used to communicate with the Ingenico ePayments platform @param authenticator [Ingenico::Connect::SDK::Authenticator] used for authenticating messages sent @param meta_data_provider [Ingenico::Connect::SDK::MetaDataProvider] object containing information relevant for sending requests

# File lib/ingenico/connect/sdk/session.rb, line 19
def initialize(api_endpoint, connection, authenticator, meta_data_provider)
  raise ArgumentError.new('api_endpoint is required') unless api_endpoint
  raise ArgumentError.new('connection is required') unless connection
  raise ArgumentError.new('authenticator is required') unless authenticator
  raise ArgumentError.new('meta_data_provider is required') unless meta_data_provider

  uri = URI(api_endpoint)
  if uri.path.length > 0 || uri.query || uri.fragment
    raise ArgumentError.new("Base URL should not contain a path, query or fragment #{uri.to_s}")
  end
  @api_endpoint = uri
  @connection = connection
  @authenticator = authenticator
  @meta_data_provider = meta_data_provider
end