Regular expressions for the known card companies.
References:
# File lib/active_merchant/billing/credit_card_methods.rb, line 58 def card_companies CARD_COMPANIES end
# File lib/active_merchant/billing/credit_card_methods.rb, line 87 def last_digits(number) number.to_s.length <= 4 ? number : number.to_s.slice(-4..-1) end
# File lib/active_merchant/billing/credit_card_methods.rb, line 91 def mask(number) "XXXX-XXXX-XXXX-#{last_digits(number)}" end
Checks to see if the calculated type matches the specified type
# File lib/active_merchant/billing/credit_card_methods.rb, line 96 def matching_type?(number, type) type?(number) == type end
Returns a string containing the type of card from the list of known information below. Need to check the cards in a particular order, as there is some overlap of the allowable ranges
# File lib/active_merchant/billing/credit_card_methods.rb, line 75 def type?(number) return 'bogus' if valid_test_mode_card_number?(number) card_companies.reject { |c,p| c == 'maestro' }.each do |company, pattern| return company.dup if number =~ pattern end return 'maestro' if number =~ card_companies['maestro'] return nil end
Returns true if it validates. Optionally, you can pass a card type as an argument and make sure it is of the correct type.
References:
# File lib/active_merchant/billing/credit_card_methods.rb, line 47 def valid_number?(number) valid_test_mode_card_number?(number) || valid_card_number_length?(number) && valid_checksum?(number) end
Generated with the Darkfish Rdoc Generator 2.