kjlite 0.2.0 → 0.3.0
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
- checksums.yaml.gz.sig +0 -0
- data/lib/kjlite.rb +32 -28
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9828f3ba1ba9e27da83bdd6f1bf8d9c68736fc716ad520201a4c97d3cd47003
|
4
|
+
data.tar.gz: 62e27f180ddf0603f06352ebef55495314fec8fe8e095ca950ea9ee035d5d7f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43cc29791deeea09d3f4eefc64c150b545d6821f3e47e84089b999e0a8079e1992f2c69b536d9779e2f6a11c21fd0a2e09057a3eaa43cfb8cbb882bdf662de74
|
7
|
+
data.tar.gz: b4b72cb2da6d3a5871eceb7824654d53b57ca677d56aa21f89502d04882a4c1bc17e0b6002dbb6de3be81494ad99ec347ccb1ddd896765d611d44da7f68b65a1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/kjlite.rb
CHANGED
@@ -19,12 +19,12 @@ module KjLite
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def inspect()
|
22
|
-
"#<KjLite::Verse @book_name=#{@book_name} " +
|
22
|
+
"#<KjLite::Verse @book_name=#{@book_name} " +
|
23
23
|
"@chapter_id=#{@chapter_id} @number=#{@number}>"
|
24
24
|
end
|
25
25
|
|
26
26
|
def text()
|
27
|
-
@verse[/^\d+:\d+:\d+\s+(.*)/m,1].gsub(/[\r\n
|
27
|
+
@verse[/^\d+:\d+:\d+\s+(.*)/m,1].gsub(/[\r\n\s]+/,' ').rstrip
|
28
28
|
end
|
29
29
|
|
30
30
|
def title()
|
@@ -53,15 +53,19 @@ module KjLite
|
|
53
53
|
def verses(*list)
|
54
54
|
|
55
55
|
puts 'inside verses' if @debug
|
56
|
-
|
56
|
+
puts '@verses: ' + @verses.inspect if @debug
|
57
|
+
|
57
58
|
list = list.first.to_a if list.first.is_a? Range
|
58
59
|
|
59
60
|
if list.empty? then
|
60
|
-
return @verses.map.with_index
|
61
|
+
return @verses.map.with_index do |x,i|
|
62
|
+
#puts 'x: ' + x.inspect
|
63
|
+
Verse.new @book_name, @id, i+1, x, debug: @debug
|
64
|
+
end
|
61
65
|
elsif list.length < 2
|
62
66
|
Verse.new @book_name, @id, list.first, @verses[list.first.to_i-1]
|
63
67
|
else
|
64
|
-
list.flatten.map do |n|
|
68
|
+
list.flatten.map do |n|
|
65
69
|
Verse.new @book_name, @id, n, @verses[n.to_i-1]
|
66
70
|
end
|
67
71
|
end
|
@@ -85,7 +89,7 @@ module KjLite
|
|
85
89
|
class Book
|
86
90
|
|
87
91
|
attr_reader :id, :name, :permalink
|
88
|
-
|
92
|
+
|
89
93
|
def initialize(id, name, chapters, debug: false)
|
90
94
|
|
91
95
|
@id, @name, @debug = id, name, debug
|
@@ -103,7 +107,7 @@ module KjLite
|
|
103
107
|
|
104
108
|
def chapters(*args)
|
105
109
|
|
106
|
-
puts 'args: ' + args.inspect if @debug
|
110
|
+
puts 'args: ' + args.inspect if @debug
|
107
111
|
|
108
112
|
if args.empty? then
|
109
113
|
return @chapters
|
@@ -112,7 +116,7 @@ module KjLite
|
|
112
116
|
else
|
113
117
|
args.flatten.map {|n| @chapters[n-1] }.compact
|
114
118
|
end
|
115
|
-
|
119
|
+
|
116
120
|
end
|
117
121
|
|
118
122
|
def inspect()
|
@@ -131,7 +135,7 @@ module KjLite
|
|
131
135
|
|
132
136
|
def initialize(url='https://gutenberg.org/cache/epub/30/pg30.txt',
|
133
137
|
debug: false)
|
134
|
-
|
138
|
+
|
135
139
|
filename, @debug = 'kjbible.txt', debug
|
136
140
|
|
137
141
|
if File.exists?(filename) then
|
@@ -144,44 +148,42 @@ module KjLite
|
|
144
148
|
s2 = s.split(/.*(?=^Book 01)/,3).last; 0
|
145
149
|
a = s2.split(/.*(?=^Book \d+)/); 0
|
146
150
|
|
147
|
-
h = a.inject({}) do |r,x|
|
151
|
+
@h = a.inject({}) do |r,x|
|
148
152
|
|
149
153
|
title, body = x.match(/^Book \d+\s+([^\r]+)\s+(.*)/m).captures
|
150
154
|
|
151
155
|
a2 = body.split(/.*(?=\d+\:\d+\:\d+)/)
|
152
156
|
a3 = a2.group_by {|x| x[/^\d+:\d+/]}.to_a.map(&:last)
|
153
|
-
r.merge(title => a3[1..-1])
|
157
|
+
r.merge(title => a3[1..-1])
|
154
158
|
|
155
159
|
end
|
156
|
-
|
160
|
+
|
161
|
+
#puts '@h: ' + @h.keys.inspect
|
162
|
+
=begin
|
157
163
|
@h = h.group_by {|key, _| key[/\d*\s*(.*)/,1]}; 0
|
158
164
|
|
159
165
|
@h.each do |key, value|
|
160
166
|
@h[key] = value.length < 2 ? value.last.last : value.map(&:last)
|
161
167
|
end
|
162
|
-
|
163
|
-
@to_h, @to_s, @booklist = @h, s, h.keys
|
168
|
+
=end
|
169
|
+
@to_h, @to_s, @booklist = @h, s, @h.keys
|
164
170
|
|
165
171
|
end
|
166
172
|
|
167
|
-
def books(ref=nil)
|
168
|
-
|
173
|
+
def books(ref=nil)
|
174
|
+
|
169
175
|
return @booklist.map {|x| books(x) } unless ref
|
170
176
|
|
171
177
|
index = ref.to_s[/^\d+$/] ? (ref.to_i - 1) : find_book(ref.downcase)
|
172
178
|
puts 'index: ' + index.inspect if @debug
|
173
179
|
title = @booklist[index]
|
174
|
-
r = @h[title.sub(/^\d+\s+/,'')]
|
180
|
+
#r = @h[title.sub(/^\d+\s+/,'')]
|
181
|
+
r = @h[title]
|
175
182
|
|
176
183
|
puts 'r: ' + r.class.inspect if @debug
|
177
184
|
|
178
|
-
|
179
|
-
|
180
|
-
else
|
181
|
-
i = ref[/\d+/].to_i - 1
|
182
|
-
a = r.map.with_index {|x,i| Book.new index+1, title, r[i], debug: @debug}
|
183
|
-
a[i]
|
184
|
-
end
|
185
|
+
Book.new index+1, title, r, debug: @debug
|
186
|
+
|
185
187
|
end
|
186
188
|
|
187
189
|
def inspect()
|
@@ -204,6 +206,8 @@ module KjLite
|
|
204
206
|
|
205
207
|
def find_book(ref)
|
206
208
|
|
209
|
+
puts 'find_book/ref: ' + ref.inspect if @debug
|
210
|
+
|
207
211
|
h = @booklist.inject({}) do |r,rawx|
|
208
212
|
|
209
213
|
x = rawx.downcase
|
@@ -215,16 +219,16 @@ module KjLite
|
|
215
219
|
NoVowels.compact(x.sub(/(\d)\s/,'\1')),
|
216
220
|
NoVowels.compact(x.sub(/(\d)\s/,'\1-')),
|
217
221
|
]
|
218
|
-
puts 'a3: ' + a3.inspect if @debug
|
222
|
+
#puts 'a3: ' + a3.inspect if @debug
|
219
223
|
a3b = a3.uniq.abbrev.keys.reject {|x| x[/^\s*\d+$/] or x.length < 2}
|
220
224
|
r.merge(rawx => a3b)
|
221
225
|
|
222
226
|
end
|
223
|
-
puts 'h: ' + h.inspect if @debug
|
227
|
+
#puts 'h: ' + h.inspect if @debug
|
224
228
|
r = h.find {|key, val| val.grep(/#{ref}/).any? }
|
225
229
|
r = h.find {|key, vl| vl.grep(/#{ref.sub(/\d+\s*/,'')}/).any? } unless r
|
226
|
-
puts '
|
227
|
-
@booklist.index r.first
|
230
|
+
puts '_r: ' + r.inspect if @debug
|
231
|
+
@booklist.index r.first if r
|
228
232
|
|
229
233
|
end
|
230
234
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kjlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
EALnBk6AgDlRDIbN+5DYzhfnTJ1Tjl8AktYuDKy5QnljJI1ywXdnUUQV4sbSUiIq
|
37
37
|
GLSnE26JTgh8Vx2YqZ7IisLxAR/yR2wdAG8=
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date: 2022-
|
39
|
+
date: 2022-10-31 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: novowels
|
metadata.gz.sig
CHANGED
Binary file
|