Class: Transbank::Common::BaseTransaction

Inherits:
Object
  • Object
show all
Defined in:
lib/transbank/sdk/common/base_transaction.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ BaseTransaction

Returns a new instance of BaseTransaction.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/transbank/sdk/common/base_transaction.rb', line 5

def initialize(options)
    required_methods = [:commerce_code, :api_key, :environment, :timeout]
    missing_methods = required_methods.reject { |method| options.respond_to?(method) }

    unless missing_methods.empty?
      raise ArgumentError, "Options object must respond to: #{missing_methods.join(', ')}"
    end
    unless %i[production integration].include?(options.environment)
      raise ArgumentError, "Environment must be either 'integration' or 'production'"
    end
    
    @commerce_code = options.commerce_code
    @api_key = options.api_key
    
    @environment = options.environment
    @timeout = options.timeout
end