15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/bible/lookup/dr.rb', line 15
def self.get_ref(book, chapter = nil, verse = nil)
text = ((@@books[book] ||= {})[chapter] ||= open(getURL(book, chapter)).gets(nil))
scanner = StringScanner.new(text)
if ! scanner.skip_until(/<span id="en-DRA-(.*?)".*?>.*?<\/span>/i)
scanner = StringScanner.new("")
else
unless verse.nil?
if verse > 1
id = scanner[1].to_i + (verse - 1)
if ! scanner.skip_until(/<span id="en-DRA-(#{id})".*?>.*?<\/span>/i)
scanner = StringScanner.new("")
end
end
scanner = StringScanner.new(scanner.check_until(/<p \/>/)) unless scanner.empty?
end
end
if scanner.empty?
""
else
scanner.rest.strip.gsub(/(\d+)<\/span>/, '\1 ').gsub(/<.*?>/im, "")
end
end
|