class TransactPro::Gateway
Attributes
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/transact_pro/gateway.rb, line 4 def initialize(options) test = TransactPro::DEFAULTS[:TEST] || !!options[:TEST] verbose = !!options[:VERBOSE] env_key = (test ? :TEST_ENV : :PRODUCTION_ENV) @options = { pwd: Digest::SHA1.hexdigest(options[:PASSWORD].to_s), guid: options[:GUID].to_s }.merge(TransactPro::DEFAULTS[env_key]) @options.merge!(options.merge(TEST: test, VERBOSE: verbose)) unless @options[:GUID].to_s[%r'\A(?:\w){4}-(?:\w){4}-(?:\w){4}-(?:\w){4}\z'] raise ArgumentError.new( "'#{@options[:GUID]}' is not a valid GUID for a gateway" ) end unless @options[:PASSWORD].to_s.size > 0 raise ArgumentError.new( "'#{@options[:PASSWORD]}' is not a valid PASSWORD for a gateway" ) end if @options[:ACCOUNT_3D].to_s.size < 1 && @options[:ACCOUNT_NON3D].to_s.size < 1 raise ArgumentError.new( "As a minimum specify a ACCOUNT_3D or a ACCOUNT_NON3D for a gateway" ) end end
Public Instance Methods
request(request_options)
click to toggle source
# File lib/transact_pro/gateway.rb, line 36 def request(request_options) TransactPro::Request.new(options.merge(request_options)) end