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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 211bf92011ea1b9666723fe007f4a3116bcb7f3b
4
- data.tar.gz: e6adfc95f5ed91498959cc6eea1ff6d2753063fd
3
+ metadata.gz: 1e4b62855f9314a75ec1caf5a7e42e9000021d25
4
+ data.tar.gz: b8da0125e966b3478c1901dfa533fb35e92b3a41
5
5
  SHA512:
6
- metadata.gz: 192cd8897905ae9b21c2cb19157594259eb1a990966367f09e07d5a7e2247dbc67ee16a49c6a2df6f3987c80080133db66433d55593519d17482936739be7d6e
7
- data.tar.gz: b5a24d51874bfea1f1fdd110c9e0e9005e75e67d0009977bf75449ba7a92ee9a942654e15899a1d04e4dfe32327354246c97bc80577b478b1980e10c87d279cb
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
- class ChapterRangeMaker
64
-
65
- VERSELIMIT = 30
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.2
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-01 00:00:00.000000000 Z
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