class BibleRef::Languages::Base
Public Instance Methods
book_id(book_name, canon)
click to toggle source
# File lib/bible_ref/languages/base.rb, line 13 def book_id(book_name, canon) book_name = replace_roman_numerals(book_name) return book_name.upcase if books[book_name.upcase] # already normalized canon.books.each do |book| details = books[book] next if details.nil? if (match = details[:match]) return book if book_name.downcase =~ match else return book if book_name.downcase == details[:name].downcase end end nil end
book_name(book_name, canon)
click to toggle source
# File lib/bible_ref/languages/base.rb, line 28 def book_name(book_name, canon) return unless id = book_id(book_name, canon) books[id][:name] end
books()
click to toggle source
# File lib/bible_ref/languages/base.rb, line 4 def books fail NotImplementedError, "You must override #books in your language class." end
has_single_chapter?(reference)
click to toggle source
Is it a single chapter book?
# File lib/bible_ref/languages/base.rb, line 9 def has_single_chapter?(reference) fail NotImplementedError, "You must override #has_single_chapter? in your language class." end
replace_roman_numerals(book)
click to toggle source
# File lib/bible_ref/languages/base.rb, line 33 def replace_roman_numerals(book) book.sub!(/^iii |^III /i, '3 ') book.sub!(/^ii |^II /i, '2 ') book.sub!(/^i |^I /i, '1 ') book end