rcv_bible 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rcv_bible/chapter_range_maker.rb +25 -0
- data/lib/rcv_bible/one_chapter_book_converter.rb +34 -0
- data/lib/rcv_bible/reference.rb +64 -0
- data/lib/rcv_bible.rb +5 -118
- metadata +5 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1e4b62855f9314a75ec1caf5a7e42e9000021d25
|
|
4
|
+
data.tar.gz: b8da0125e966b3478c1901dfa533fb35e92b3a41
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45abcd413715fbdd828d249299dc911e03afe8cfb930e408a72226575226f12f72061598445f1b3502d43321e8521fa9931e69090a004bf56fbdea970a496e58
|
|
7
|
+
data.tar.gz: bd0aab9dd6d4d61c076fac02b8467f402f182cc0e8318bd2537402215633bf92c0aee59a2518df74d2351d36671357acb7281e5be35d6551bdc4938617130ee6
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class RcvBible::ChapterRangeMaker
|
|
2
|
+
|
|
3
|
+
VERSELIMIT = 30
|
|
4
|
+
|
|
5
|
+
def initialize(num_verses)
|
|
6
|
+
@num_verses = num_verses
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def verse_ranges
|
|
10
|
+
result = []
|
|
11
|
+
1.step(@num_verses,VERSELIMIT) do |i|
|
|
12
|
+
result << [i, last_verse_in_range(i)]
|
|
13
|
+
end
|
|
14
|
+
result
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def last_verse_in_range(first_verse_in_range)
|
|
18
|
+
last_verse_number = first_verse_in_range + VERSELIMIT - 1
|
|
19
|
+
if last_verse_number > @num_verses
|
|
20
|
+
@num_verses
|
|
21
|
+
else
|
|
22
|
+
last_verse_number
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class RcvBible::OneChapterBookConverter
|
|
2
|
+
OCB_REFERENCES = { "obadiah" => "Oba 1-21",
|
|
3
|
+
"obadiah 1" => "Oba 1-21",
|
|
4
|
+
"obadiah 1:1-21" => "Oba 1-21",
|
|
5
|
+
"philemon" => "Philem 1-25",
|
|
6
|
+
"philemon 1" => "Philem 1-25",
|
|
7
|
+
"philemon 1:1-25" => "Philem 1-25",
|
|
8
|
+
"2 john" => '2 John 1-13',
|
|
9
|
+
"2 john 1" => '2 John 1-13',
|
|
10
|
+
"2 john 1:1-13" => '2 John 1-13',
|
|
11
|
+
"3 john" => '3 John 1-13',
|
|
12
|
+
"3 john 1" => '3 John 1-13',
|
|
13
|
+
"3 john 1:1-13" => '3 John 1-13',
|
|
14
|
+
"jude" => "Jude 1-24",
|
|
15
|
+
"jude 1" => "Jude 1-24",
|
|
16
|
+
"jude 1:1-24" => "Jude 1-24"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
def self.adjust_reference(reference)
|
|
20
|
+
self.new(reference).adjust_reference
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def initialize(reference)
|
|
24
|
+
@reference = reference
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def adjust_reference
|
|
28
|
+
if OCB_REFERENCES[@reference.downcase]
|
|
29
|
+
OCB_REFERENCES[@reference.downcase]
|
|
30
|
+
else
|
|
31
|
+
@reference
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
class RcvBible::Reference
|
|
2
|
+
|
|
3
|
+
def initialize(reference)
|
|
4
|
+
@reference = reference
|
|
5
|
+
@parsed_request = RcvBible::OneChapterBookConverter.adjust_reference(reference)
|
|
6
|
+
initial_request
|
|
7
|
+
verse_requests
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def initial_request
|
|
11
|
+
@response = HTTParty.get("https://api.lsm.org/recver.php?String=#{@parsed_request}").to_h
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def error
|
|
15
|
+
@error
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def copyright
|
|
19
|
+
[{copyright: @response["request"]["copyright"] }]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def verses
|
|
23
|
+
@verses + copyright
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def message
|
|
27
|
+
@message ||= @response["request"]["message"]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def short_chapter_verses_array
|
|
31
|
+
@short_chapter_verses_array ||= @response["request"]["verses"]["verse"]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def completed_response?
|
|
35
|
+
message == "\t"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def invalid_reference?
|
|
39
|
+
message["Bad Reference"]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def chapter_verse_count
|
|
43
|
+
message.sub(/.*?requested /, '').split.first.to_i
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def verse_requests
|
|
47
|
+
if completed_response?
|
|
48
|
+
@verses = short_chapter_verses_array
|
|
49
|
+
elsif invalid_reference?
|
|
50
|
+
@verses = []
|
|
51
|
+
@error = "Bad Reference"
|
|
52
|
+
else
|
|
53
|
+
long_chapter_verses_array = []
|
|
54
|
+
RcvBible::ChapterRangeMaker.new(chapter_verse_count).verse_ranges.each do |vr|
|
|
55
|
+
verses_chunk = HTTParty.get(
|
|
56
|
+
"https://api.lsm.org/recver.php?
|
|
57
|
+
String=#{@reference}: #{vr.first}-#{vr.last}").
|
|
58
|
+
to_h["request"]["verses"]["verse"]
|
|
59
|
+
long_chapter_verses_array << verses_chunk
|
|
60
|
+
end
|
|
61
|
+
@verses = long_chapter_verses_array.flatten
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
data/lib/rcv_bible.rb
CHANGED
|
@@ -1,123 +1,10 @@
|
|
|
1
|
-
require "acts_as_scriptural"
|
|
2
1
|
require "httparty"
|
|
2
|
+
#require "pry"
|
|
3
3
|
|
|
4
4
|
class RcvBible
|
|
5
|
-
|
|
6
|
-
VERSION = "0.0.1"
|
|
7
|
-
|
|
8
|
-
class RcvBible::Reference
|
|
9
|
-
|
|
10
|
-
def initialize(reference)
|
|
11
|
-
@reference = reference
|
|
12
|
-
@parsed_request = RcvBible::OneChapterBookConverter.adjust_reference(reference)
|
|
13
|
-
@response = HTTParty.get("https://api.lsm.org/recver.php?String=#{@parsed_request}").to_h
|
|
14
|
-
@message = @response["request"]["message"]
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def self.text_of(reference)
|
|
18
|
-
self.new(reference).text_of
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def reference_chapter
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def message
|
|
26
|
-
@response["request"]["message"]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def short_chapter_verses_array
|
|
30
|
-
@short_chapter_verses_array ||= @response["request"]["verses"]["verse"]
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def completed_response?
|
|
34
|
-
@message == "\t"
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def invalid_reference?
|
|
38
|
-
@message["Bad Reference"]
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def chapter_verse_count
|
|
42
|
-
@message.sub(/.*?requested /, '').split.first.to_i
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def text_of
|
|
46
|
-
if completed_response?
|
|
47
|
-
return { @reference => short_chapter_verses_array }
|
|
48
|
-
elsif invalid_reference?
|
|
49
|
-
return { @reference => @message["Bad Reference"] }
|
|
50
|
-
else
|
|
51
|
-
long_chapter_verses_array = []
|
|
52
|
-
RcvBible::ChapterRangeMaker.new(chapter_verse_count).verse_ranges.each do |vr|
|
|
53
|
-
verses_chunk = HTTParty.get(
|
|
54
|
-
"https://api.lsm.org/recver.php?String=#{@reference}: #{vr.first}-#{vr.last}").
|
|
55
|
-
to_h["request"]["verses"]["verse"]
|
|
56
|
-
long_chapter_verses_array << verses_chunk
|
|
57
|
-
end
|
|
58
|
-
return { @reference => long_chapter_verses_array.flatten }
|
|
59
|
-
end
|
|
60
|
-
end
|
|
5
|
+
VERSION = "0.0.3"
|
|
61
6
|
end
|
|
62
7
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
def initialize(num_verses)
|
|
68
|
-
@num_verses = num_verses
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def verse_ranges
|
|
72
|
-
result = []
|
|
73
|
-
1.step(@num_verses,VERSELIMIT) do |i|
|
|
74
|
-
result << [i, last_verse_in_range(i)]
|
|
75
|
-
end
|
|
76
|
-
result
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def last_verse_in_range(first_verse_in_range)
|
|
80
|
-
last_verse_number = first_verse_in_range + VERSELIMIT - 1
|
|
81
|
-
if last_verse_number > @num_verses
|
|
82
|
-
@num_verses
|
|
83
|
-
else
|
|
84
|
-
last_verse_number
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
class RcvBible::OneChapterBookConverter
|
|
90
|
-
OCB_REFERENCES = { "obadiah" => "Oba 1-21",
|
|
91
|
-
"obadiah 1" => "Oba 1-21",
|
|
92
|
-
"obadiah 1:1-21" => "Oba 1-21",
|
|
93
|
-
"philemon" => "Philem 1-25",
|
|
94
|
-
"philemon 1" => "Philem 1-25",
|
|
95
|
-
"philemon 1:1-25" => "Philem 1-25",
|
|
96
|
-
"2 john" => '2 John 1-13',
|
|
97
|
-
"2 john 1" => '2 John 1-13',
|
|
98
|
-
"2 john 1:1-13" => '2 John 1-13',
|
|
99
|
-
"3 john" => '3 John 1-13',
|
|
100
|
-
"3 john 1" => '3 John 1-13',
|
|
101
|
-
"3 john 1:1-13" => '3 John 1-13',
|
|
102
|
-
"jude" => "Jude 1-24",
|
|
103
|
-
"jude 1" => "Jude 1-24",
|
|
104
|
-
"jude 1:1-24" => "Jude 1-24"
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
def self.adjust_reference(reference)
|
|
108
|
-
self.new(reference).adjust_reference
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def initialize(reference)
|
|
112
|
-
@reference = reference
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
def adjust_reference
|
|
116
|
-
if OCB_REFERENCES[@reference.downcase]
|
|
117
|
-
OCB_REFERENCES[@reference.downcase]
|
|
118
|
-
else
|
|
119
|
-
@reference
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
8
|
+
require 'rcv_bible/chapter_range_maker'
|
|
9
|
+
require 'rcv_bible/reference'
|
|
10
|
+
require 'rcv_bible/one_chapter_book_converter'
|
metadata
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rcv_bible
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Evan Koch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-02-
|
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: acts_as_scriptural
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.0.2
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.0.2
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: httparty
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -104,6 +90,9 @@ extensions: []
|
|
|
104
90
|
extra_rdoc_files: []
|
|
105
91
|
files:
|
|
106
92
|
- lib/rcv_bible.rb
|
|
93
|
+
- lib/rcv_bible/chapter_range_maker.rb
|
|
94
|
+
- lib/rcv_bible/one_chapter_book_converter.rb
|
|
95
|
+
- lib/rcv_bible/reference.rb
|
|
107
96
|
homepage: https://github.com/evo21/rcv_bible
|
|
108
97
|
licenses:
|
|
109
98
|
- MIT
|