Adds methods to Fixnum and String to generate and validate Luhn checksums
Latest commit 9a822af Sep 28, 2012 @moeffju Merge pull request #1 from Toptranslation/feature/fix_checksum_for_123
123.luhn returned 10
Failed to load latest commit information.
spec spec edgecase Sep 28, 2012
.gitignore Make gem Aug 15, 2012
Gemfile Add development dependencies in gem spec (rake, spec) Aug 16, 2012
Rakefile Add Rspec rake task Aug 16, 2012
luhn.gemspec bump version Sep 28, 2012

Luhn Build Status

Adds methods to Numeric and String to generate and validate Luhn checksums.


Add this line to your application's Gemfile:

gem 'moeffju-luhn', :require => 'luhn'

And then execute:

$ bundle

Or install it yourself as:

$ gem install moeffju-luhn

The gem's name is 'luhn', so you need to require luhn.


Numeric (Fixnum, Bignum):

4100410382.luhn?  #=> true
410041038.luhn    #=> 2
410041038.luhn!   #=> 4100410382

4100410648.luhn?  #=> true
410041064.luhn    #=> 8
410041064.luhn!   #=> 4100410648

And for Strings:

'4 10041064 8'.luhn?  #=> true
'4 10041064'.luhn     #=> "8"
'4 10041064'.luhn!    #=> "4100410648"


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Make sure the specs pass / extend the specs
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request