class CardNumberValidator::Cards::Mastercard
Constants
- MASTERCARD_RANGES
Public Class Methods
generate()
click to toggle source
# File lib/card_number_validator/cards/mastercard.rb, line 23 def self.generate master_range = self::MASTERCARD_RANGES[rand(0..self::MASTERCARD_RANGES.size-1)] "#{rand(master_range[0]..master_range[1])}#{rand(10**10).to_s.rjust(10,rand(1..9).to_s)}" end
valid_master_bin?(card_number)
click to toggle source
# File lib/card_number_validator/cards/mastercard.rb, line 14 def self.valid_master_bin?(card_number) return unless card_number.size > 5 self::MASTERCARD_RANGES.each do |mc_range| next unless (mc_range[0]..mc_range[1]).include?(card_number[0..5].to_i) return true end false end
validate(card_number)
click to toggle source
# File lib/card_number_validator/cards/mastercard.rb, line 9 def self.validate(card_number) return unless card_number /5\d{15}/.match(card_number) || valid_master_bin?(card_number) end