Class: ActiveModel::Validations::CreditCardValidator::Luhn
- Inherits:
-
Object
- Object
- ActiveModel::Validations::CreditCardValidator::Luhn
- Defined in:
- lib/active_model/validations/credit_card_validator.rb
Class Method Summary collapse
- .amex?(number) ⇒ Boolean
- .mastercard?(number) ⇒ Boolean (also: master_card?)
- .valid?(card_type, number) ⇒ Boolean
- .visa?(number) ⇒ Boolean
Class Method Details
.amex?(number) ⇒ Boolean
37 38 39 |
# File 'lib/active_model/validations/credit_card_validator.rb', line 37 def self.amex?(number) LuhnChecker.valid?(number) and !(number !~ /^3[47].{13}/) end |
.mastercard?(number) ⇒ Boolean Also known as: master_card?
25 26 27 |
# File 'lib/active_model/validations/credit_card_validator.rb', line 25 def self.mastercard?(number) LuhnChecker.valid?(number) and !(number !~ /^5[1-5].{14}/) end |
.valid?(card_type, number) ⇒ Boolean
17 18 19 20 21 22 23 |
# File 'lib/active_model/validations/credit_card_validator.rb', line 17 def self.valid?(card_type,number) if card_type == :any LuhnChecker.valid?(number) else self.send("#{card_type.to_s}?", number) end end |
.visa?(number) ⇒ Boolean
33 34 35 |
# File 'lib/active_model/validations/credit_card_validator.rb', line 33 def self.visa?(number) LuhnChecker.valid?(number) and !(number !~ /^4.{15}/) end |