Lisbn (pronounced "Lisbon") is a wrapper around String that adds methods for manipulating ISBNs.
Add this line to your application's Gemfile:
gem 'lisbn'
And then execute:
$ bundle
Or install it yourself as:
$ gem install lisbn
Instantiate a new Lisbn object:
> isbn = Lisbn.new("9780000000002")
You can check its validity:
> isbn.valid?
=> true
You can convert it to ISBN-10 or ISBN-13:
> isbn.isbn10
=> "0000000000"
> isbn.isbn13
=> "9780000000002"
And you can break it up into its GS1 prefix, group identifier, prefix/publisher code, item number and check digit:
> isbn.parts
=> ["978", "0", "00", "000000", "2"]
You can update the ISBN ranges by replacing the RangeMessage.xml file with an updated copy from: https://www.isbn-international.org/range_file_generation
Then run:
> rake save_ranges_to_yaml
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request