rxfhelper 1.3.1 → 1.4.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/rxfhelper.rb +45 -343
- data.tar.gz.sig +0 -0
- metadata +18 -39
- 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: ebb8a8524b0128715988cb60a6cbf51349bc00accaed990a9bd6b9b149762d27
|
4
|
+
data.tar.gz: 90b21fc2c3b3f13fed66d03a0092e5142502bf474fce7aea4a6b7d35275fa440
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c83ff90aea8d4c98f27e8c7f4c8f33a9492d0421d1c932f858a6b39b1016c886b47cc60570e253ede91c4a9b7632e2c14b637e2072a02bb3e40803662e29e761
|
7
|
+
data.tar.gz: 347421d92512c46f4313489b36fd76e30befcefbdf541759592f5f65d4e4840f3da627baec4640eefcd7eeba361fe303df73a6dd6d9859b1886164dbf0a2364e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/rxfhelper.rb
CHANGED
@@ -3,13 +3,9 @@
|
|
3
3
|
# file: rxfhelper.rb
|
4
4
|
|
5
5
|
require 'rsc'
|
6
|
-
#require 'gpd-request'
|
7
|
-
require 'rest-client'
|
8
|
-
require 'mymedia_ftp'
|
9
|
-
require 'drb_fileclient'
|
10
6
|
require 'drb_reg_client'
|
11
7
|
require 'remote_dwsregistry'
|
12
|
-
require '
|
8
|
+
require 'rxfileio'
|
13
9
|
|
14
10
|
|
15
11
|
|
@@ -17,135 +13,79 @@ require 'dir-to-xml'
|
|
17
13
|
# using the Registry feaure to look up objects automatically.
|
18
14
|
|
19
15
|
module RXFHelperModule
|
16
|
+
include RXFileIOModule
|
20
17
|
|
21
|
-
class DirX
|
22
18
|
|
23
|
-
|
24
|
-
def self.glob(s) RXFHelper.glob(s) end
|
25
|
-
def self.mkdir(s) RXFHelper.mkdir(s) end
|
26
|
-
def self.pwd() RXFHelper.pwd() end
|
19
|
+
def FileX.exists?(filename)
|
27
20
|
|
28
|
-
|
29
|
-
|
30
|
-
class FileX
|
31
|
-
|
32
|
-
def self.chdir(s) RXFHelper.chdir(s) end
|
33
|
-
|
34
|
-
def self.directory?(filename)
|
35
|
-
|
36
|
-
type = self.filetype(filename)
|
37
|
-
|
38
|
-
filex = case type
|
39
|
-
when :file
|
40
|
-
File
|
41
|
-
when :dfs
|
42
|
-
DfsFile
|
43
|
-
else
|
44
|
-
nil
|
45
|
-
end
|
46
|
-
|
47
|
-
return nil unless filex
|
48
|
-
|
49
|
-
filex.directory? filename
|
21
|
+
type = FileX.filetype(filename)
|
50
22
|
|
23
|
+
filex = case type
|
24
|
+
when :file
|
25
|
+
File
|
26
|
+
when :dfs
|
27
|
+
DfsFile
|
28
|
+
when :sqlite
|
29
|
+
host = filename[/(?<=^sqlite:\/\/)[^\/]+/]
|
30
|
+
DRbObject.new nil, "druby://#{host}:57000"
|
31
|
+
else
|
32
|
+
nil
|
51
33
|
end
|
52
34
|
|
53
|
-
|
35
|
+
return nil unless filex
|
54
36
|
|
55
|
-
|
37
|
+
filex.exists? filename
|
56
38
|
|
57
|
-
|
58
|
-
when :file
|
59
|
-
File
|
60
|
-
when :dfs
|
61
|
-
DfsFile
|
62
|
-
when :sqlite
|
63
|
-
host = filename[/(?<=^sqlite:\/\/)[^\/]+/]
|
64
|
-
DRbObject.new nil, "druby://#{host}:57000"
|
65
|
-
else
|
66
|
-
nil
|
67
|
-
end
|
68
|
-
|
69
|
-
return nil unless filex
|
70
|
-
|
71
|
-
filex.exists? filename
|
39
|
+
end
|
72
40
|
|
73
|
-
end
|
74
41
|
|
75
|
-
|
76
|
-
exists? filename
|
77
|
-
end
|
42
|
+
def FileX.filetype(x)
|
78
43
|
|
79
|
-
|
44
|
+
return :string if x.lines.length > 1
|
80
45
|
|
81
|
-
|
46
|
+
case x
|
47
|
+
when /^rse:\/\//
|
48
|
+
:rse
|
49
|
+
when /^https?:\/\//
|
50
|
+
:http
|
51
|
+
when /^dfs:\/\//
|
52
|
+
:dfs
|
53
|
+
when /^sqlite:\/\//
|
54
|
+
:sqlite
|
55
|
+
when /^file:\/\//
|
56
|
+
:file
|
57
|
+
else
|
82
58
|
|
83
|
-
|
84
|
-
when /^rse:\/\//
|
85
|
-
:rse
|
86
|
-
when /^https?:\/\//
|
87
|
-
:http
|
88
|
-
when /^dfs:\/\//
|
89
|
-
:dfs
|
90
|
-
when /^sqlite:\/\//
|
91
|
-
:sqlite
|
92
|
-
when /^file:\/\//
|
59
|
+
if File.exists?(x) then
|
93
60
|
:file
|
94
61
|
else
|
95
|
-
|
96
|
-
if File.exists?(x) then
|
97
|
-
:file
|
98
|
-
else
|
99
|
-
:text
|
100
|
-
end
|
101
|
-
|
62
|
+
:text
|
102
63
|
end
|
103
|
-
end
|
104
64
|
|
105
|
-
def self.chmod(num, s) RXFHelper.chmod(num, s) end
|
106
|
-
def self.cp(s, s2) RXFHelper.cp(s, s2) end
|
107
|
-
def self.ls(s) RXFHelper.ls(s) end
|
108
|
-
def self.mkdir(s) RXFHelper.mkdir(s) end
|
109
|
-
def self.mkdir_p(s) RXFHelper.mkdir_p(s) end
|
110
|
-
def self.mv(s, s2) RXFHelper.mv(s, s2) end
|
111
|
-
def self.pwd() RXFHelper.pwd() end
|
112
|
-
def self.read(x) RXFHelper.read(x).first end
|
113
|
-
def self.rm(s) RXFHelper.rm(s) end
|
114
|
-
|
115
|
-
def self.rm_r(s, force: false)
|
116
|
-
RXFHelper.rm_r(s, force: force)
|
117
65
|
end
|
118
|
-
|
119
|
-
def self.ru(s) RXFHelper.ru(s) end
|
120
|
-
def self.ru_r(s) RXFHelper.ru_r(s) end
|
121
|
-
|
122
|
-
def self.touch(s, mtime: Time.now)
|
123
|
-
RXFHelper.touch(s, mtime: mtime)
|
124
|
-
end
|
125
|
-
|
126
|
-
def self.write(x, s) RXFHelper.write(x, s) end
|
127
|
-
def self.zip(s, a) RXFHelper.zip(s, a) end
|
128
|
-
|
129
66
|
end
|
67
|
+
|
130
68
|
end
|
131
69
|
|
70
|
+
=begin
|
71
|
+
# 20th February 2022 # JR
|
72
|
+
# the following code has been commented out because it appears to be redundant
|
132
73
|
class URL
|
133
74
|
|
134
75
|
def self.join(*a)
|
135
76
|
a.map {|x| x.sub(/(?:^\/|\/$)/,'') }.join '/'
|
136
77
|
end
|
137
78
|
end
|
138
|
-
|
79
|
+
=end
|
139
80
|
|
140
81
|
class RXFHelperException < Exception
|
141
82
|
end
|
142
83
|
|
143
84
|
# Read XML File Helper
|
144
85
|
#
|
145
|
-
class RXFHelper
|
86
|
+
class RXFHelper < RXFileIO
|
146
87
|
using ColouredText
|
147
88
|
|
148
|
-
@fs = :local
|
149
89
|
|
150
90
|
def self.call(s)
|
151
91
|
|
@@ -162,66 +102,6 @@ class RXFHelper
|
|
162
102
|
|
163
103
|
end
|
164
104
|
|
165
|
-
def self.chmod(permissions, s)
|
166
|
-
|
167
|
-
return unless permissions.is_a? Integer
|
168
|
-
return unless s.is_a? String
|
169
|
-
|
170
|
-
if s[/^dfs:\/\//] or @fs[0..2] == 'dfs' then
|
171
|
-
DfsFile.chmod permissions, s
|
172
|
-
else
|
173
|
-
FileUtils.chmod permissions, s
|
174
|
-
end
|
175
|
-
|
176
|
-
end
|
177
|
-
|
178
|
-
def self.cp(s1, s2, debug: false)
|
179
|
-
|
180
|
-
puts 'inside RXFHelper.cp' if debug
|
181
|
-
|
182
|
-
found = [s1,s2].grep /^\w+:\/\//
|
183
|
-
puts 'found: ' + found.inspect if debug
|
184
|
-
|
185
|
-
if found.any? then
|
186
|
-
|
187
|
-
case found.first[/^\w+(?=:\/\/)/]
|
188
|
-
|
189
|
-
when 'dfs'
|
190
|
-
DfsFile.cp(s1, s2)
|
191
|
-
when 'ftp'
|
192
|
-
MyMediaFTP.cp s1, s2
|
193
|
-
else
|
194
|
-
|
195
|
-
end
|
196
|
-
|
197
|
-
else
|
198
|
-
|
199
|
-
FileUtils.cp s1, s2
|
200
|
-
|
201
|
-
end
|
202
|
-
end
|
203
|
-
|
204
|
-
def self.chdir(x)
|
205
|
-
|
206
|
-
# We can use @fs within chdir() to flag the current file system.
|
207
|
-
# Allowing us to use relative paths with FileX operations instead
|
208
|
-
# of explicitly stating the path each time. e.g. touch 'foo.txt'
|
209
|
-
#
|
210
|
-
|
211
|
-
if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
|
212
|
-
|
213
|
-
@fs = :local
|
214
|
-
FileUtils.chdir x
|
215
|
-
|
216
|
-
elsif x[/^dfs:\/\//]
|
217
|
-
|
218
|
-
host = x[/(?<=dfs:\/\/)[^\/]+/]
|
219
|
-
@fs = 'dfs://' + host
|
220
|
-
DfsFile.chdir x
|
221
|
-
|
222
|
-
end
|
223
|
-
|
224
|
-
end
|
225
105
|
|
226
106
|
def self.get(x)
|
227
107
|
|
@@ -242,57 +122,6 @@ class RXFHelper
|
|
242
122
|
|
243
123
|
end
|
244
124
|
|
245
|
-
def self.glob(s)
|
246
|
-
|
247
|
-
if s[/^dfs:\/\//] then
|
248
|
-
DfsFile.glob(s)
|
249
|
-
else
|
250
|
-
Dir.glob(s)
|
251
|
-
end
|
252
|
-
|
253
|
-
end
|
254
|
-
|
255
|
-
def self.ls(x='*')
|
256
|
-
|
257
|
-
return Dir[x] if File.exists?(File.dirname(x))
|
258
|
-
|
259
|
-
case x[/^\w+(?=:\/\/)/]
|
260
|
-
when 'file'
|
261
|
-
Dir[x]
|
262
|
-
when 'dfs'
|
263
|
-
DfsFile.ls x
|
264
|
-
when 'ftp'
|
265
|
-
MyMediaFTP.ls x
|
266
|
-
else
|
267
|
-
|
268
|
-
end
|
269
|
-
|
270
|
-
end
|
271
|
-
|
272
|
-
def self.mkdir(x)
|
273
|
-
|
274
|
-
if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
|
275
|
-
FileUtils.mkdir x
|
276
|
-
elsif x[/^dfs:\/\//]
|
277
|
-
DfsFile.mkdir x
|
278
|
-
end
|
279
|
-
|
280
|
-
end
|
281
|
-
|
282
|
-
def self.mkdir_p(x)
|
283
|
-
|
284
|
-
if x[/^dfs:\/\//] or @fs[0..2] == 'dfs' then
|
285
|
-
DfsFile.mkdir_p x
|
286
|
-
else
|
287
|
-
FileUtils.mkdir_p x
|
288
|
-
end
|
289
|
-
|
290
|
-
end
|
291
|
-
|
292
|
-
def self.mv(s1, s2)
|
293
|
-
DfsFile.mv(s1, s2)
|
294
|
-
end
|
295
|
-
|
296
125
|
# used by self.read
|
297
126
|
#
|
298
127
|
def self.objectize(contents)
|
@@ -310,11 +139,6 @@ class RXFHelper
|
|
310
139
|
obj
|
311
140
|
end
|
312
141
|
|
313
|
-
def self.pwd()
|
314
|
-
|
315
|
-
DfsFile.pwd
|
316
|
-
|
317
|
-
end
|
318
142
|
|
319
143
|
def self.read(x, h={})
|
320
144
|
|
@@ -360,7 +184,7 @@ class RXFHelper
|
|
360
184
|
|
361
185
|
elsif x[/^dfs:\/\//] then
|
362
186
|
|
363
|
-
r = DfsFile.read(x)
|
187
|
+
r = DfsFile.read(x).force_encoding('UTF-8')
|
364
188
|
[opt[:auto] ? objectize(r) : r, :dfs]
|
365
189
|
|
366
190
|
elsif x[/^ftp:\/\//] then
|
@@ -392,7 +216,7 @@ class RXFHelper
|
|
392
216
|
elsif x =~ /\s/
|
393
217
|
[x, :text]
|
394
218
|
elsif DfsFile.exists?(x)
|
395
|
-
[DfsFile.read(x), :dfs]
|
219
|
+
[DfsFile.read(x).force_encoding('UTF-8'), :dfs]
|
396
220
|
else
|
397
221
|
[x, :unknown]
|
398
222
|
end
|
@@ -403,113 +227,6 @@ class RXFHelper
|
|
403
227
|
end
|
404
228
|
end
|
405
229
|
|
406
|
-
def self.rm(filename)
|
407
|
-
|
408
|
-
case filename[/^\w+(?=:\/\/)/]
|
409
|
-
when 'dfs'
|
410
|
-
DfsFile.rm filename
|
411
|
-
when 'ftp'
|
412
|
-
MyMediaFTP.rm filename
|
413
|
-
else
|
414
|
-
|
415
|
-
if File.basename(filename) =~ /\*/ then
|
416
|
-
|
417
|
-
Dir.glob(filename).each do |file|
|
418
|
-
|
419
|
-
begin
|
420
|
-
FileUtils.rm file
|
421
|
-
rescue
|
422
|
-
puts ('RXFHelper#rm: ' + file + ' is a Directory').warning
|
423
|
-
end
|
424
|
-
|
425
|
-
end
|
426
|
-
|
427
|
-
else
|
428
|
-
FileUtils.rm filename
|
429
|
-
end
|
430
|
-
|
431
|
-
end
|
432
|
-
|
433
|
-
end
|
434
|
-
|
435
|
-
def self.rm_r(filename, force: false)
|
436
|
-
|
437
|
-
case filename[/^\w+(?=:\/\/)/]
|
438
|
-
when 'dfs'
|
439
|
-
DfsFile.rm_r filename, force: force
|
440
|
-
#when 'ftp'
|
441
|
-
# MyMediaFTP.rm filename
|
442
|
-
else
|
443
|
-
|
444
|
-
if File.basename(filename) =~ /\*/ then
|
445
|
-
|
446
|
-
Dir.glob(filename).each do |file|
|
447
|
-
|
448
|
-
begin
|
449
|
-
FileUtils.rm_r file, force: force
|
450
|
-
rescue
|
451
|
-
puts ('RXFHelper#rm: ' + file + ' is a Directory').warning
|
452
|
-
end
|
453
|
-
|
454
|
-
end
|
455
|
-
|
456
|
-
else
|
457
|
-
FileUtils.rm_r filename, force: force
|
458
|
-
end
|
459
|
-
|
460
|
-
end
|
461
|
-
|
462
|
-
end
|
463
|
-
|
464
|
-
# recently_updated
|
465
|
-
#
|
466
|
-
def self.ru(path='.')
|
467
|
-
|
468
|
-
case path[/^\w+(?=:\/\/)/]
|
469
|
-
when 'dfs'
|
470
|
-
DfsFile.ru path
|
471
|
-
|
472
|
-
else
|
473
|
-
|
474
|
-
DirToXML.new(path, recursive: false, verbose: false).latest
|
475
|
-
|
476
|
-
end
|
477
|
-
|
478
|
-
end
|
479
|
-
|
480
|
-
# recently updated recursively check directories
|
481
|
-
#
|
482
|
-
def self.ru_r(path='.')
|
483
|
-
|
484
|
-
case path[/^\w+(?=:\/\/)/]
|
485
|
-
when 'dfs'
|
486
|
-
DfsFile.ru_r path
|
487
|
-
|
488
|
-
else
|
489
|
-
|
490
|
-
DirToXML.new(path, recursive: true, verbose: false).latest
|
491
|
-
|
492
|
-
end
|
493
|
-
|
494
|
-
end
|
495
|
-
|
496
|
-
def self.touch(filename, mtime: Time.now)
|
497
|
-
|
498
|
-
if @fs[0..2] == 'dfs' then
|
499
|
-
return DfsFile.touch(@fs + pwd + '/' + filename, mtime: mtime)
|
500
|
-
end
|
501
|
-
|
502
|
-
case filename[/^\w+(?=:\/\/)/]
|
503
|
-
when 'dfs'
|
504
|
-
DfsFile.touch filename, mtime: mtime
|
505
|
-
#when 'ftp'
|
506
|
-
# MyMediaFTP.touch filename
|
507
|
-
else
|
508
|
-
FileUtils.touch filename, mtime: mtime
|
509
|
-
end
|
510
|
-
|
511
|
-
end
|
512
|
-
|
513
230
|
def self.write(location, s=nil)
|
514
231
|
|
515
232
|
case location
|
@@ -541,22 +258,9 @@ class RXFHelper
|
|
541
258
|
|
542
259
|
end
|
543
260
|
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
if not source =~ /:\/\// then
|
549
|
-
|
550
|
-
return true if File.exists? source
|
551
|
-
|
552
|
-
else
|
553
|
-
|
554
|
-
return true if source =~ /^dfs:/
|
555
|
-
|
556
|
-
end
|
557
|
-
|
558
|
-
return false
|
559
|
-
end
|
261
|
+
=begin
|
262
|
+
# 20th February 2022 # JR
|
263
|
+
# the following code has been commented out because it appears to be redundant
|
560
264
|
|
561
265
|
def self.absolute_url(page_url, item_location)
|
562
266
|
|
@@ -572,6 +276,7 @@ class RXFHelper
|
|
572
276
|
File.join page_url[/.*\//], item_location
|
573
277
|
end
|
574
278
|
end
|
279
|
+
=end
|
575
280
|
|
576
281
|
def self.post(uri, x=nil)
|
577
282
|
|
@@ -606,7 +311,4 @@ class RXFHelper
|
|
606
311
|
|
607
312
|
end
|
608
313
|
|
609
|
-
def self.zip(filename, a)
|
610
|
-
DfsFile.zip(filename, a)
|
611
|
-
end
|
612
314
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rxfhelper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
MrrH8cS6bqJRPQqEL1FsPmXfQpp86RvPSr0WqNSRnYEUCmqL0l2pYrXdPAyBLcji
|
36
36
|
X1jPyhH0sl/QdPdaUnsigze+
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2022-02-
|
38
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rsc
|
@@ -57,26 +57,6 @@ dependencies:
|
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 0.4.5
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: mymedia_ftp
|
62
|
-
requirement: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '0.3'
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 0.3.3
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0.3'
|
77
|
-
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: 0.3.3
|
80
60
|
- !ruby/object:Gem::Dependency
|
81
61
|
name: remote_dwsregistry
|
82
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,42 +81,42 @@ dependencies:
|
|
101
81
|
name: drb_reg_client
|
102
82
|
requirement: !ruby/object:Gem::Requirement
|
103
83
|
requirements:
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 0.2.0
|
107
84
|
- - "~>"
|
108
85
|
- !ruby/object:Gem::Version
|
109
86
|
version: '0.2'
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.2.0
|
110
90
|
type: :runtime
|
111
91
|
prerelease: false
|
112
92
|
version_requirements: !ruby/object:Gem::Requirement
|
113
93
|
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 0.2.0
|
117
94
|
- - "~>"
|
118
95
|
- !ruby/object:Gem::Version
|
119
96
|
version: '0.2'
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.2.0
|
120
100
|
- !ruby/object:Gem::Dependency
|
121
|
-
name:
|
101
|
+
name: rxfileio
|
122
102
|
requirement: !ruby/object:Gem::Requirement
|
123
103
|
requirements:
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 2.1.0
|
127
104
|
- - "~>"
|
128
105
|
- !ruby/object:Gem::Version
|
129
|
-
version: '2
|
106
|
+
version: '0.2'
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.2.0
|
130
110
|
type: :runtime
|
131
111
|
prerelease: false
|
132
112
|
version_requirements: !ruby/object:Gem::Requirement
|
133
113
|
requirements:
|
134
|
-
- - ">="
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 2.1.0
|
137
114
|
- - "~>"
|
138
115
|
- !ruby/object:Gem::Version
|
139
|
-
version: '2
|
116
|
+
version: '0.2'
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 0.2.0
|
140
120
|
description:
|
141
121
|
email: digital.robertson@gmail.com
|
142
122
|
executables: []
|
@@ -163,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
143
|
- !ruby/object:Gem::Version
|
164
144
|
version: '0'
|
165
145
|
requirements: []
|
166
|
-
|
167
|
-
rubygems_version: 2.7.10
|
146
|
+
rubygems_version: 3.2.22
|
168
147
|
signing_key:
|
169
148
|
specification_version: 4
|
170
149
|
summary: Helpful library for primarily reading the contents of a file either from
|
metadata.gz.sig
CHANGED
Binary file
|