Donde poner los guiones en un ISBN13

¿Cómo saber donde van los guiones en un ISBN? Primero veamos como está compuesto un ISBN: Es una secuencia de dígitos y consta de cuatro componentes:

  1. Código de país
  2. Editorial
  3. Número de ítem
  4. Checksum
Ahora queda saber la longitud de cada componente para poder poner los guiones entre cada uno. El código de país y el checksum son de longitudes conocidas (tres y uno). Pero las otras dos no y dependen de los rangos asignados por la Agencia Internacional de ISBN y las agencias de cada país.
Para hacer este formateo cree la gema isbn13. Para usarla primero la instalan:

gem install isbn13

y el uso es el siguiente:


require 'isbn13'
ISBN13.format('9789873303111') # => '978-987-33-0311-1'
ISBN13.valid?('978-987-33-0311-1') # => true
ISBN13.valid?('9789873303111') # => true

Por ahora tiene dos operaciones posibles, validar un ISBN y formatearlo. Los datos para saber la longitud del codigo de la editorial y el número de item fueron scrapeados de una página de la Agencia Internacional de ISBN y guardados en un archivo dentro de la gema. Pueden leer los detalles y otra manera de calcular las longitudes (que no me funcionó) leyendo el README.

Nota:  cuando digo ISBN, me refiero a los ISBN13.

Categorías: Investigacion

Leave a comment