module CardValidator::Validator::TypeValidator
Public Class Methods
valid?(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 6 def valid?(card) check_type(card) end
Private Class Methods
amex?(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 16 def amex?(card) /\A(34)|(37).*/.match(card) && card.size == 15 end
check_type(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 11 def check_type(card) amex?(card) || discover?(card) || master_card?(card) || visa?(card) end
discover?(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 21 def discover?(card) /\A(6011).*/.match(card) && card.size == 16 end
master_card?(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 26 def master_card?(card) /\A(5)[1-5].*/.match(card) && card.size == 16 end
visa?(card)
click to toggle source
# File lib/card_validator/validator/type_validator.rb, line 31 def visa?(card) /\A(4).*/.match(card) && (card.size == 13 || card.size == 16) end