Method: Worldline::Acquiring::SDK::Communicator#initialize

Defined in:
lib/worldline/acquiring/sdk/communicator.rb

#initialize(api_endpoint, connection, authenticator, metadata_provider, marshaller) ⇒ Communicator

Creates a new Communicator.

Parameters:

Raises:

  • (ArgumentError)


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/worldline/acquiring/sdk/communicator.rb', line 40

def initialize(api_endpoint, connection, authenticator, , marshaller)
  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('metadata_provider is required') unless 
  raise ArgumentError('marshaller is required') if marshaller.nil?

  uri = URI(api_endpoint)
  raise RuntimeError('api_endpoint should not contain a path') unless uri.path.nil? || uri.path.empty?
  unless uri.userinfo.nil? && uri.query.nil? && uri.fragment.nil?
    raise RuntimeError('api_endpoint should not contain user info, query or fragment')
  end
  @api_endpoint = uri
  @connection = connection
  @authenticator = authenticator
   = 
  @marshaller = marshaller
end