card_number_validator

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