card_number_validator Build Status Code Climate

Card Validator provides you some methods to validate the most used card flags in the world. In addition, you can generate fake card numbers for development and tests purposes.

Installation

Add card_number_validator to Gemfile Gemfile:

gem 'card_number_validator', '0.1.0'

Download and install by running:

bundle install

Usage

CardNumberValidator.flag(card_number)

Returns flag name to provided card number or :unknown when the provided number is invalid

See Example:

  CardNumberValidator.flag('378282246310005') # :amex 
  CardNumberValidator.flag('30569309025904') # :diners 
  CardNumberValidator.flag('6363683839698868') # :elo 
  CardNumberValidator.flag('6062826289081176') # :hipercard 
  CardNumberValidator.flag('4012888888881881') # :visa 
  CardNumberValidator.flag('5223358786371817') # :mastercard
  CardNumberValidator.flag('111') # :unknown

CardNumberValidator.valid?(card_number)

Returns if provided card number is valid or not

See Example:

  CardNumberValidator.valid?('378282246310005') # true
  CardNumberValidator.valid?('30569309025904') # true
  CardNumberValidator.valid?('6363683839698868') # true
  CardNumberValidator.valid?('6062826289081176') # true
  CardNumberValidator.valid?('4012888888881881') # true
  CardNumberValidator.valid?('5223358786371817') # true
  CardNumberValidator.valid?('111') # false

CardNumberValidator.generate(:flag_name)

Returns fake card number by provided flag name

See Example:

  CardNumberValidator.generate(:amex) # '378282246310005'

Contributing

Card Validator is open source, and we are grateful for everyone who's contributed so far.

License

It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.

Feature Requests & Bugs

See http://github.com/pauloh-silva/card_number_validator/issues