rcv_bible 0.0.2
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 +7 -0
- data/lib/rcv_bible.rb +123 -0
- metadata +131 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 211bf92011ea1b9666723fe007f4a3116bcb7f3b
|
|
4
|
+
data.tar.gz: e6adfc95f5ed91498959cc6eea1ff6d2753063fd
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 192cd8897905ae9b21c2cb19157594259eb1a990966367f09e07d5a7e2247dbc67ee16a49c6a2df6f3987c80080133db66433d55593519d17482936739be7d6e
|
|
7
|
+
data.tar.gz: b5a24d51874bfea1f1fdd110c9e0e9005e75e67d0009977bf75449ba7a92ee9a942654e15899a1d04e4dfe32327354246c97bc80577b478b1980e10c87d279cb
|
data/lib/rcv_bible.rb
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
require "acts_as_scriptural"
|
|
2
|
+
require "httparty"
|
|
3
|
+
|
|
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
|
|
61
|
+
end
|
|
62
|
+
|
|
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
|
metadata
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: rcv_bible
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.2
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Evan Koch
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-02-01 00:00:00.000000000 Z
|
|
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
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: httparty
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.13.7
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 0.13.7
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: bundler
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '1.11'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '1.11'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '10.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '10.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '3.0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '3.0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: pry
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
description: Gateway to API--returns text from the Recovery Version of the New Testament,
|
|
98
|
+
accessed from the Holy Bible Recovery Version (text-only edition) Copyright 2012
|
|
99
|
+
Living Stream Ministry.
|
|
100
|
+
email:
|
|
101
|
+
- evankoch@gmail.com
|
|
102
|
+
executables: []
|
|
103
|
+
extensions: []
|
|
104
|
+
extra_rdoc_files: []
|
|
105
|
+
files:
|
|
106
|
+
- lib/rcv_bible.rb
|
|
107
|
+
homepage: https://github.com/evo21/rcv_bible
|
|
108
|
+
licenses:
|
|
109
|
+
- MIT
|
|
110
|
+
metadata: {}
|
|
111
|
+
post_install_message:
|
|
112
|
+
rdoc_options: []
|
|
113
|
+
require_paths:
|
|
114
|
+
- lib
|
|
115
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - ">="
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: '0'
|
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
requirements: []
|
|
126
|
+
rubyforge_project:
|
|
127
|
+
rubygems_version: 2.4.5
|
|
128
|
+
signing_key:
|
|
129
|
+
specification_version: 4
|
|
130
|
+
summary: Build text from the Recovery Version from verse/chapter/book submissions.
|
|
131
|
+
test_files: []
|