Class: VirtualMerchant::UserInput

Inherits:
Object
  • Object
show all
Defined in:
lib/virtual_merchant/user_input.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user_input) ⇒ UserInput

Returns a new instance of UserInput.



4
5
6
7
8
9
10
11
# File 'lib/virtual_merchant/user_input.rb', line 4

def initialize(user_input)
  @errors = {}
  if user_input[:swipe]
    validate_unencrypted_swipe(user_input[:swipe])
  else
    validate_card_number(user_input[:number])
  end
end

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



3
4
5
# File 'lib/virtual_merchant/user_input.rb', line 3

def errors
  @errors
end

Instance Method Details

#validate_card_number(number) ⇒ Object



13
14
15
16
17
# File 'lib/virtual_merchant/user_input.rb', line 13

def validate_card_number(number)
  unless number && luhn_validate(number.to_s.gsub(/\s+/, ""))
    errors[5000] = "The Credit Card Number supplied in the authorization request appears to be invalid."
  end
end