| Class | Barby::Bookland |
| In: |
lib/barby/barcode/bookland.rb
|
| Parent: | EAN13 |
| BOOKLAND_NUMBER_SYSTEM | = | '978' |
| isbn | [RW] |
# File lib/barby/barcode/bookland.rb, line 15
15: def initialize(isbn)
16: self.isbn = isbn
17: raise ArgumentError, 'data not valid' unless valid?
18: end
# File lib/barby/barcode/bookland.rb, line 20
20: def data
21: BOOKLAND_NUMBER_SYSTEM+isbn_only
22: end
Removes any non-digit characters, number system and check digit from ISBN, so "978-82-92526-14-9" would result in "829252614"
# File lib/barby/barcode/bookland.rb, line 26
26: def isbn_only
27: s = isbn.gsub(/[^0-9]/, '')
28: if s.size > 10#Includes number system
29: s[3,9]
30: else#No number system, may include check digit
31: s[0,9]
32: end
33: end