Class: Ig3tool::BibBook

Inherits:
ActiveRecord::Base show all
Defined in:
lib/bib.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ActiveRecord::Base

#attributes_protected_by_default, hash_lookup, set_nonauto_primary_key

Class Method Details

._isbn10(code) ⇒ Object

ISBN-10 -> ISBN-13



68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/bib.rb', line 68

def self._isbn10(code)
	raise "Invalid ISBN-13 number!" if code.length != 13
	code = code[3..11]

	sum = 0
	9.times {|i| sum += code[i].chr.to_i * (10 - i) }

	check = 11 - sum % 11
	check = 0   if sum   == 0
	check = 'X' if check == 10
	code = code + check.to_s
end

._isbn13(code) ⇒ Object

ISBN-13 -> ISBN-10



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/bib.rb', line 51

def self._isbn13(code)
	raise "Invalid ISBN-10 number!" if code.length != 10
	code.chop!
	code = "978" + code

	sum = 0
	code.split(//).each_with_index do |c, i|
		sum += c.to_i * ( i % 2 == 0 ? 1 : 3 )
	end

	rem   = sum % 10
	check = (rem == 0) ? 0 : 10 - rem

	code = code + check.to_s
end

Instance Method Details

#availableObject



46
47
48
# File 'lib/bib.rb', line 46

def available
	copies - loans.length
end

#available?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/bib.rb', line 42

def available?
	available > 0
end