class ValidateCard
Public Class Methods
brand_name(number)
click to toggle source
# File lib/credit_card_validator.rb, line 31 def self.brand_name(number) CreditCardValidator::CreditCardBrandName.verify_card_brand(number) end
card_number_validate(card_number)
click to toggle source
# File lib/credit_card_validator.rb, line 5 def self.card_number_validate(card_number) card_number = card_number.to_s.split('') card_number.each_with_index.map do |value, index| card_number[index] = value.to_i #Change to integer end card_digit = card_number[-1] card_number.pop() # Remove digit from calculation to start counting (index 1 instead 0) card_number = card_number.reverse() card_number.each_with_index.map do |value, index| if index.even? value = value * 2 card_number[index] = value end if value > 9 value = value - 9 card_number[index] = value end end total = (card_number.sum()) + card_digit result = total.modulo(10) if result == 0 return true end return false end