<commit_before>Bookland
========

[Bookland](http://en.wikipedia.org/wiki/Bookland) provides an ISBN class in Ruby.

Examples
--------

    include Bookland

    isbn10 = ISBN.new('0262011530')
    isbn10.to_isbn13
    => "9780262011532"

    isbn10.to_s(1, 3, 5)
    => "0-262-01153-0"

    isbn13 == ISBN.new('9780262011532')
    => true

    # An invalid ISBN
    not_an_isbn = ISBN.new('0262011531')
    not_an_isbn.valid?
    => false
    not_an_isbn.to_isbn13
    => Bookland::ISBNError: Invalid ISBN

Some utility methods defined in the class level:

    include Bookland

    ISBN.to_13('0262011530')
    => "9780262011532"

    ISBN.to_10('9780262011532')
    => "0262011530"

    ISBN.valid?('9780262011532')
    => true<commit_msg>Edit README<commit_after>Bookland
========

[Bookland](http://en.wikipedia.org/wiki/Bookland) provides an ISBN class in
Ruby.

Usage
-----

    require 'bookland'

    isbn10 = ISBN.new('0262011530')
    isbn10.to_isbn13
    => "9780262011532"

    isbn10.to_s(1, 3, 5)
    => "0-262-01153-0"

    isbn13 == ISBN.new('9780262011532')
    => true

    # Does an invalid ISBN quack like an ISBN?
    bad_isbn = ISBN.new('0262011531')
    bad_isbn.valid?
    => false
    bad_isbn.to_isbn13
    => Bookland::ISBNError: Invalid ISBN

Some utility methods defined in the class level:

    ISBN.to_13('0262011530')
    => "9780262011532"

    ISBN.to_10('9780262011532')
    => "0262011530"

    ISBN.valid?('9780262011532')
    => true
{'fraction_non_alphanumeric': 0.1453804347826087, 'fraction_numerical': 0.18206521739130435, 'mean_word_length': 2.991869918699187, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1609841', 'n_tokens_mistral': 734, 'n_tokens_neox': 576, 'n_words': 101}