rcv_bible 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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