Class: ActiveModel::Validations::CreditCardValidator

Inherits:
EachValidator
  • Object
show all
Defined in:
lib/active_model/validations/credit_card_validator.rb

Defined Under Namespace

Classes: Luhn

Instance Method Summary collapse

Instance Method Details

#sanitize_card(value) ⇒ Object



10
11
12
# File 'lib/active_model/validations/credit_card_validator.rb', line 10

def sanitize_card(value)
  value.tr('- ','')
end

#validate_each(record, attribute, value) ⇒ Object



5
6
7
8
# File 'lib/active_model/validations/credit_card_validator.rb', line 5

def validate_each(record, attribute, value)
  type = options.fetch(:type, :any)
  record.errors.add(attribute) if value.blank? || !Luhn.valid?(type, sanitize_card(value))
end