module CardNumberValidator
Constants
- FLAGS
Public Class Methods
flag(card_number)
click to toggle source
# File lib/card_number_validator.rb, line 16 def self.flag(card_number) card_number = card_number.to_s self::FLAGS.each do |flag| flag_found = flag_class(flag).send('validate', card_number) return flag if flag_found end :unknown end
flag_class(flag)
click to toggle source
# File lib/card_number_validator.rb, line 35 def self.flag_class(flag) flag_class = "CardNumberValidator::Cards::#{flag.to_s.capitalize}" flag_class = 'CardNumberValidator::Cards::Diners' if flag == :diners Kernel.const_get flag_class end
generate(flag)
click to toggle source
# File lib/card_number_validator.rb, line 29 def self.generate(flag) flag = flag.to_sym return unless self::FLAGS.include?(flag) flag_class(flag).send('generate') end
valid?(card_number)
click to toggle source
# File lib/card_number_validator.rb, line 25 def self.valid?(card_number) flag(card_number) != :unknown end