本には ISBN というものが付いていて、 末尾のチェックディジットは仕様を参照すれば 簡単に計算出来そうです。 10 桁のものと新しい 13 桁のものがあったり、 出版者の部分の桁数が違ったりして ちゃんとハイフンを入れるのは面倒そうです。 チェックディジットの方も自分で実装すると バグっていたときに面倒なので、 良さそうな gem がないか探してみました。 最終的にはいくつかの理由から lisbn という gem を使いました。 gem の選択 まず rubygems.org の右上で isbn と検索 するところから始めました。 インストール数の多い順に見ていくと、 isbn10 インストール数は一番多い 10桁のみ 古い isbn-tools 古い Not Maintained lisbn が後継 isbn 画像対応とかいろいろ高機能っぽいけど今回は不要 with_dashes と