testkit123 0.2.6 → 0.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/testkit123.rb +163 -86
- data.tar.gz.sig +0 -0
- metadata +32 -48
- 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: 076b25cb13801fa21a785e8fc79f3907725af4ad499daa6f82901bb7896fdadd
|
4
|
+
data.tar.gz: bf84ef76c61f536d6b9a21e65966d75dc37e1dbf5d554ae8bb02103e8dabc9d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8a89f4616ebbed893740f995269dc06541bec6187b1587dfe89d375c17233dc69b7aa63d4e899d0746fc05922aeb1e3bce0384cc80602ec9bc923e6a7e599a5
|
7
|
+
data.tar.gz: a3bae8298736a349801abea83dcdede98c9ca3edf03ee3191acbdcea0f1e1042eeb18b7208a5487ae1244eb2afb2cd7688c15c556835b9b2ef7801477829eed6
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/testkit123.rb
CHANGED
@@ -2,47 +2,95 @@
|
|
2
2
|
|
3
3
|
# file: testkit123.rb
|
4
4
|
|
5
|
-
require 'rxfhelper'
|
6
5
|
require 'fileutils'
|
7
6
|
require 'testdata_text'
|
8
7
|
require 'simple-config'
|
8
|
+
require 'rxfreadwrite'
|
9
9
|
|
10
10
|
|
11
11
|
module StringFormat
|
12
|
-
|
12
|
+
|
13
13
|
refine String do
|
14
|
-
|
14
|
+
|
15
15
|
def camelize
|
16
|
-
self.split('_').collect(&:capitalize).join
|
16
|
+
self.split('_').collect(&:capitalize).join
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
end
|
22
22
|
|
23
23
|
class TestKit123
|
24
24
|
using StringFormat
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
using ColouredText
|
26
|
+
|
27
|
+
attr_reader :testdata_file
|
28
|
+
|
29
|
+
def initialize(templates: {testdata: nil, testx: nil}, project: nil,
|
30
|
+
debug: true, localpath: nil, datapath: nil,
|
28
31
|
gemtest_url: nil, rubyver: 'ruby-2.5.1')
|
29
32
|
|
30
33
|
@debug = debug
|
31
34
|
@h = templates
|
32
|
-
|
35
|
+
|
36
|
+
#return unless project
|
37
|
+
|
38
|
+
@localpath, @datapath, @gemtest_url = localpath, datapath, gemtest_url
|
39
|
+
@rubyver = rubyver
|
40
|
+
|
41
|
+
return unless project
|
42
|
+
|
33
43
|
@project_config = if project =~ /\.txt$/ then
|
34
44
|
project
|
35
|
-
|
36
|
-
File.join(localpath, project + '.txt')
|
45
|
+
else
|
46
|
+
File.join(localpath, project + '.txt')
|
37
47
|
end
|
48
|
+
|
38
49
|
puts '@project_config: ' + @project_config.inspect if @debug
|
39
|
-
|
50
|
+
puts 'localpath: ' + localpath.inspect if @debug
|
40
51
|
|
41
|
-
|
42
|
-
|
52
|
+
if File.exists? @project_config then
|
53
|
+
|
54
|
+
config = SimpleConfig.new(@project_config, debug: false).to_h
|
55
|
+
puts ('config: ' + config.inspect).debug if @debug
|
56
|
+
|
57
|
+
proj = config[:project]
|
58
|
+
puts 'create_standalone: proj: ' + proj.inspect if @debug
|
59
|
+
|
60
|
+
raise 'config[:data_path] not found' unless config[:data_path]
|
61
|
+
|
62
|
+
datafilepath = config[:data_path] + '/' + proj
|
63
|
+
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
64
|
+
|
65
|
+
ext = (config[:testdata_ext] and config[:testdata_ext][/\.?td$/]) ? 'td' : 'xml'
|
66
|
+
@testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
67
|
+
|
68
|
+
end
|
43
69
|
|
44
70
|
end
|
45
71
|
|
72
|
+
# expects a test node; see new_testnode()
|
73
|
+
#
|
74
|
+
def add_test(testnode)
|
75
|
+
|
76
|
+
s2 , filetype = RXFReader.read @testdata_file
|
77
|
+
puts 'filetype: ' + filetype.inspect if @debug
|
78
|
+
|
79
|
+
xml = if s2.lstrip[0] == '<' then
|
80
|
+
s2
|
81
|
+
else
|
82
|
+
TestdataText.parse s2
|
83
|
+
end
|
84
|
+
|
85
|
+
puts 'xml: ' + xml.inspect if @debug
|
86
|
+
|
87
|
+
doc = Rexle.new(xml)
|
88
|
+
id = doc.root.xpath('records/test/summary/path/text()').last.to_i + 1
|
89
|
+
testnode.root.element('summary/path').text = id.to_s
|
90
|
+
doc.root.element('records').add testnode
|
91
|
+
return doc
|
92
|
+
end
|
93
|
+
|
46
94
|
def create_files(project=@project_config)
|
47
95
|
|
48
96
|
puts 'running create_files ...' if @debug
|
@@ -52,9 +100,9 @@ class TestKit123
|
|
52
100
|
raise "config file not found" unless File.exists? @project_config
|
53
101
|
|
54
102
|
config_file = @project_config
|
55
|
-
|
103
|
+
|
56
104
|
puts 'config_file: ' + config_file.inspect if @debug
|
57
|
-
|
105
|
+
|
58
106
|
config = SimpleConfig.new(config_file).to_h
|
59
107
|
puts 'config : ' + config.inspect if @debug
|
60
108
|
|
@@ -88,18 +136,18 @@ class TestKit123
|
|
88
136
|
|
89
137
|
testdata = @h[:testdata].gsub(/(?<=\.)\w+$/, ext)
|
90
138
|
puts 'testdata: ' + testdata.inspect if @debug
|
91
|
-
buffer_testdata, _ =
|
92
|
-
|
139
|
+
buffer_testdata, _ = RXFReader.read(testdata)
|
140
|
+
|
93
141
|
FileUtils.mkdir_p datafilepath
|
94
|
-
|
142
|
+
|
95
143
|
testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
96
|
-
File.write testdata_file, eval('%{' + buffer_testdata + '}')
|
144
|
+
File.write testdata_file, eval('%{' + buffer_testdata + '}')
|
97
145
|
|
98
146
|
test_template_rsf = @h[:testx]
|
99
|
-
buffer_test, _ =
|
147
|
+
buffer_test, _ = RXFReader.read(test_template_rsf)
|
100
148
|
|
101
149
|
test_rsffile = File.join(config[:data_path], "#{proj}.rsf")
|
102
|
-
File.write test_rsffile, eval('%{' + buffer_test + '}')
|
150
|
+
File.write test_rsffile, eval('%{' + buffer_test + '}')
|
103
151
|
|
104
152
|
buffer_rb = %{#!/usr/bin/env ruby
|
105
153
|
|
@@ -107,9 +155,9 @@ buffer_rb = %{#!/usr/bin/env ruby
|
|
107
155
|
|
108
156
|
#require 'timecop'
|
109
157
|
|
110
|
-
|
158
|
+
|
111
159
|
class Test#{config[:classname]} < Testdata::Base
|
112
|
-
|
160
|
+
|
113
161
|
# 2011-07-24 19:52:15
|
114
162
|
#Timecop.freeze(Time.local(2011, 7, 24, 19, 52, 15))
|
115
163
|
|
@@ -123,43 +171,49 @@ end
|
|
123
171
|
|
124
172
|
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
125
173
|
puts 'reading the ruby template file ...' if @debug
|
126
|
-
File.write test_rbfile, eval('%{' + buffer_rb + '}')
|
174
|
+
File.write test_rbfile, eval('%{' + buffer_rb + '}')
|
127
175
|
|
128
176
|
"finished processing #{proj}"
|
129
177
|
end
|
130
|
-
|
178
|
+
|
131
179
|
def create_standalone(n)
|
132
|
-
|
180
|
+
|
133
181
|
# use the test number to find the test to copy from the test file
|
134
|
-
|
135
|
-
|
136
|
-
|
182
|
+
puts '@project_config: ' + @project_config.inspect
|
183
|
+
|
184
|
+
config = SimpleConfig.new(@project_config, debug: false).to_h
|
185
|
+
puts ('config: ' + config.inspect).debug if @debug
|
186
|
+
|
137
187
|
proj = config[:project]
|
138
188
|
puts 'create_standalone: proj: ' + proj.inspect if @debug
|
189
|
+
|
190
|
+
raise 'config[:data_path] not found' unless config[:data_path]
|
191
|
+
|
139
192
|
datafilepath = config[:data_path] + '/' + proj
|
140
|
-
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
141
|
-
|
142
|
-
ext = config[:testdata_ext][/\.?td$/] ? 'td' : 'xml'
|
193
|
+
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
194
|
+
|
195
|
+
ext = (config[:testdata_ext] and config[:testdata_ext][/\.?td$/]) ? 'td' : 'xml'
|
143
196
|
testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
144
197
|
puts 'testdata_file: ' + testdata_file.inspect if @debug
|
145
198
|
puts 'source code filepath: ' + test_rbfile.inspect if @debug
|
146
|
-
|
199
|
+
|
147
200
|
s = File.read(test_rbfile).gsub(/^( )?end/,'')
|
148
201
|
require_gems = s.scan(/^require +['"]([^'"]+)/).map(&:first)
|
149
|
-
|
202
|
+
|
150
203
|
before_test = s[/(?<=def tests\(\)).*/m].split(/ test /)[0].lstrip
|
151
204
|
puts '** before_test: ' + before_test.inspect
|
152
205
|
|
153
206
|
a = s.split(/(?= test )/)
|
154
207
|
a.shift
|
208
|
+
puts 'a: ' + a.inspect if @debug
|
155
209
|
|
156
210
|
tests = a.map do |x|
|
157
|
-
r =
|
158
|
-
|
211
|
+
r = x.match(/(?<=['"])(?<test>[^"']+)['"]\s+do\s+\|(?<raw_args>[^\|]+)/)
|
212
|
+
|
159
213
|
[r[:test], r[:raw_args].split(/, */)]
|
160
214
|
end
|
161
215
|
|
162
|
-
s2 , filetype =
|
216
|
+
s2 , filetype = RXFReader.read testdata_file
|
163
217
|
puts 'filetype: ' + filetype.inspect if @debug
|
164
218
|
|
165
219
|
xml = if s2.lstrip[0] == '<' then
|
@@ -169,103 +223,125 @@ end
|
|
169
223
|
end
|
170
224
|
|
171
225
|
puts 'xml: ' + xml.inspect if @debug
|
172
|
-
|
226
|
+
|
173
227
|
doc = Rexle.new(xml)
|
174
228
|
puts 'after doc : ' if @debug
|
175
229
|
r = doc.root.xpath('records//test') || doc.root.xpath('records/test')
|
176
|
-
|
230
|
+
|
177
231
|
if @debug then
|
178
|
-
puts 'r: ' + r.inspect
|
232
|
+
puts 'r: ' + r.inspect
|
179
233
|
puts 'r.length: ' + r.length.inspect
|
180
234
|
puts 'n: ' + n.inspect
|
181
235
|
end
|
182
|
-
|
236
|
+
|
183
237
|
testnode = r[n-1]
|
184
238
|
puts 'testnode: ' + testnode.xml.inspect if @debug
|
185
|
-
|
239
|
+
|
186
240
|
title = testnode.text('summary/type')
|
241
|
+
puts ('title: ' + title.inspect).debug if @debug
|
242
|
+
puts ('tests: ' + tests.inspect).debug if @debug
|
187
243
|
i = tests.index tests.assoc(title)
|
188
|
-
|
244
|
+
puts 'i: ' + i.inspect if @debug
|
245
|
+
|
189
246
|
testcode = a[i].strip.lines[1..-2].map do |line|
|
190
247
|
line.sub(/^ {6}/,'')
|
191
248
|
end.join
|
192
|
-
|
193
|
-
# replace the input variable names with the input variable names defined
|
249
|
+
|
250
|
+
# replace the input variable names with the input variable names defined
|
194
251
|
# in the testdata file and prefix them with *test_*.
|
195
|
-
|
252
|
+
|
196
253
|
input_vars = testnode.xpath('records/input/summary/*/name()')
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
254
|
+
|
255
|
+
if @debug then
|
256
|
+
puts 'input_vars: ' + input_vars.inspect
|
257
|
+
puts 'tests[i][1]: ' + tests[i][1].inspect
|
258
|
+
puts 'zip: ' + tests[i][1].zip(input_vars).inspect
|
259
|
+
end
|
260
|
+
|
201
261
|
tests[i][1].zip(input_vars).each do |x|
|
202
|
-
testcode.gsub!(x[0]
|
203
|
-
end
|
262
|
+
testcode.gsub!(/\b#{x[0]}\b/, 'test_' + x[1])
|
263
|
+
end
|
204
264
|
|
205
265
|
args = testnode.xpath('records/input/summary/*').map do |input|
|
206
|
-
|
207
|
-
|
266
|
+
|
267
|
+
value = input.texts.join.gsub(/'/,"\'").strip
|
268
|
+
|
269
|
+
if value.lines.length > 1 then
|
270
|
+
"test_%s =<<EOF\n%s\nEOF\n" % [input.name, value ]
|
271
|
+
else
|
272
|
+
"test_%s = '%s'\n" % [input.name, value ]
|
273
|
+
end
|
274
|
+
|
208
275
|
end
|
209
|
-
|
276
|
+
|
210
277
|
vars = testnode.xpath('records/input/summary/*').map(&:name)
|
211
|
-
|
212
|
-
puts 'args: ' + args.inspect if @debug
|
213
|
-
|
278
|
+
|
279
|
+
puts 'args: ' + args.inspect if @debug
|
280
|
+
|
214
281
|
vars.each do |var|
|
215
282
|
testcode.gsub!(/\b#{var}\b/, 'test_' + var)
|
216
283
|
end
|
217
|
-
|
284
|
+
|
218
285
|
puts 'gems: ' + require_gems.inspect if @debug
|
219
|
-
|
286
|
+
|
220
287
|
codex = testcode.rstrip.lines
|
221
|
-
|
288
|
+
|
222
289
|
"# Test %d. Type: %s\n# Description: %s\n" \
|
223
290
|
% [n, title, testnode.text('summary/type')] + \
|
224
291
|
"# --------------------------------------------\n\n" + \
|
225
292
|
"require '#{proj}'\n" + require_gems.map {|x| "require '%s'" \
|
226
|
-
% x}.join("\n") +
|
293
|
+
% x}.join("\n") + \
|
294
|
+
"\nrequire 'rxfreadwrite'\n\n\n" \
|
227
295
|
+ before_test.gsub(/^ /,'') + "\n" + args.join("\n") \
|
228
296
|
+ codex[0..-2].join + 'puts ' + codex.last
|
229
297
|
|
230
298
|
end
|
231
299
|
|
232
300
|
def delete_files(s=nil)
|
233
|
-
|
301
|
+
|
234
302
|
filepath = if s =~ /\.txt$/ then
|
235
303
|
project
|
236
304
|
elsif s
|
237
|
-
File.join(@localpath, s + '.txt')
|
305
|
+
File.join(@localpath, s + '.txt')
|
238
306
|
else
|
239
307
|
@project_config
|
240
308
|
end
|
241
|
-
|
309
|
+
|
242
310
|
puts 'filepath: ' + filepath.inspect if @debug
|
243
|
-
|
311
|
+
|
244
312
|
config = SimpleConfig.new(filepath).to_h
|
245
|
-
|
313
|
+
|
246
314
|
proj = config[:project]
|
247
315
|
datafilepath = config[:data_path] + '/' + proj
|
248
316
|
FileUtils.rm_rf datafilepath
|
249
|
-
|
317
|
+
|
250
318
|
filepath = config[:local_path] + '/' + proj
|
251
319
|
FileUtils.rm_rf filepath
|
252
|
-
|
320
|
+
|
253
321
|
FileUtils.rm File.join(config[:data_path], "#{proj}.rsf")
|
254
|
-
|
322
|
+
|
255
323
|
proj + ' test files deleted'
|
256
|
-
|
324
|
+
|
257
325
|
end
|
258
|
-
|
259
|
-
def
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
326
|
+
|
327
|
+
def new_testnode(s=nil, type: '', inputs: {}, outputs: {result: ''})
|
328
|
+
|
329
|
+
if s then
|
330
|
+
|
331
|
+
# the scan is intended to find the input variables from an
|
332
|
+
# example Ruby script
|
333
|
+
|
334
|
+
inputs = s.scan(/test_([\w]+) += +['"]([^'"]+)/)\
|
335
|
+
.inject({}){|r,x| r.merge(x.first.to_sym => x.last)}
|
336
|
+
end
|
337
|
+
|
338
|
+
# observe *test* is masked with *_test* because it is a built-in method name.
|
339
|
+
|
264
340
|
h = {
|
265
341
|
_test: {
|
266
342
|
summary: {
|
267
343
|
path: '',
|
268
|
-
type:
|
344
|
+
type: type,
|
269
345
|
description: ''
|
270
346
|
},
|
271
347
|
records: {
|
@@ -274,21 +350,22 @@ end
|
|
274
350
|
records: {}
|
275
351
|
},
|
276
352
|
output: {
|
277
|
-
summary:
|
353
|
+
summary: outputs,
|
278
354
|
records: {}
|
279
355
|
}
|
280
|
-
}
|
356
|
+
}
|
281
357
|
}
|
282
358
|
}
|
283
359
|
|
284
|
-
a = RexleBuilder.new(h).to_a
|
360
|
+
a = RexleBuilder.new(h, debug: false).to_a
|
361
|
+
|
362
|
+
Rexle.new(a)
|
285
363
|
|
286
|
-
Rexle.new(a).xml pretty: true
|
287
|
-
|
288
364
|
end
|
289
365
|
|
290
366
|
def new_project(project='myproject', classname=nil, save: false)
|
291
367
|
|
368
|
+
puts 'inside new_project: ' + [project, classname].inspect if @debug
|
292
369
|
classname ||= project.camelize
|
293
370
|
|
294
371
|
s =<<EOF
|
@@ -311,8 +388,8 @@ test:
|
|
311
388
|
end
|
312
389
|
EOF
|
313
390
|
|
314
|
-
|
315
391
|
if save then
|
392
|
+
puts '@localpath: ' + @localpath.inspect if @debug
|
316
393
|
filepath = File.join(@localpath, project + '.txt')
|
317
394
|
File.write filepath, s
|
318
395
|
puts 'file saved ' + filepath if @debug
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testkit123
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,68 +10,53 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIxMTUyMzQ4WhcN
|
15
|
+
MjMwMjIxMTUyMzQ4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCykPDD
|
17
|
+
C99+OQXgdvHqnfGSurPttKSrB8nC+v8TchYliuwE/YeVjoNb33nSlT+vE+ZLDWLm
|
18
|
+
CA0Gtu6bE2+gOXVZvprKKwyztqmk+fLwJfPeBwB5/Aj7roVmN74yrunUffzNPDRM
|
19
|
+
cTaJ1SX4ODD6s36Hx28FNkcWZHLzzLR822E8wTyjHy/eMK4V69PW3z/nKSQy9EAV
|
20
|
+
ErKHk0ERJm6dUXb0WNkdFTQRVYU5fzlASid3yxMw9uq3P63xB4kl8f/OZYEfr4QT
|
21
|
+
u9q1ueZtcVZnNDzseyuNm3fNLpai+LDWJ6DA1zWuQZin+1g9jk0HKlM86weRrWxN
|
22
|
+
mzJ+C6GTgHlwMe37fmLXqD6YAILAbV19x8W06ZS/N/DU6FclKc4ly/T9mVJgqAMx
|
23
|
+
9e+fpbx6HCLwnz928nP+M52qfvMly0++QWawYk0aTTNs9+/5GBZxmrOq3CAEAcKs
|
24
|
+
Tp41e4lGloinqnC9HdCbjK8vpYUEki+MuGs6Y19RrCRjzD1lbZ7IbYGZ5EkCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUNqtk/CYY
|
26
|
+
+9THwv6U+woEXfZQOo4wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAfdkypqOi4heDFVtNrQXwCHBv312S6Ivo3ZUhtpbR
|
29
|
+
DAlYC0efVgGy2Xic/noETRT4/FMnTyKmQ9E3U/xCWSC1acZM51yB1vYA6boKt9xz
|
30
|
+
jNvpR7089iGJUvo7CUy+3LFe91fzZGGDiB3g2PgtOm1QnO8OPQqx7eqkKzsfZhrv
|
31
|
+
jsqQ+xmYGai4kc+lKOqhRot2cg8yhjr5x9CbOTKPC5cwq8h6bvKkD81ty/GQzSda
|
32
|
+
Y7veJQStbysuq2zUwx4TvATlFbOl4qA8PLT99wLPqUMrNl+JoWPuUrHnBr/Tp73q
|
33
|
+
HcBJ7t1jV+r747CBLN9Av0Fh0fsB2yxdMQnwbVdY6s3Ku+8cWvH8MUq/HpzRdX4i
|
34
|
+
oo9BUrJRFuzP3FNuq2We336yf1C+HnnH/mxSTwQhiP+A5aavkTnmm2GQzzOORN6I
|
35
|
+
DN5UNRowuQ2fXKFO7nmgUH33wBhFAs2KXZPPR6sWn2JxLUlMMngzSypdB7zQn7my
|
36
|
+
FmX/ZG5sgd+RpEYbxgC2cdNk
|
32
37
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
38
|
+
date: 2022-02-21 00:00:00.000000000 Z
|
34
39
|
dependencies:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rxfhelper
|
37
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0.9'
|
42
|
-
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: 0.9.1
|
45
|
-
type: :runtime
|
46
|
-
prerelease: false
|
47
|
-
version_requirements: !ruby/object:Gem::Requirement
|
48
|
-
requirements:
|
49
|
-
- - "~>"
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version: '0.9'
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.9.1
|
55
40
|
- !ruby/object:Gem::Dependency
|
56
41
|
name: simple-config
|
57
42
|
requirement: !ruby/object:Gem::Requirement
|
58
43
|
requirements:
|
59
44
|
- - "~>"
|
60
45
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
46
|
+
version: '0.7'
|
62
47
|
- - ">="
|
63
48
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.
|
49
|
+
version: 0.7.2
|
65
50
|
type: :runtime
|
66
51
|
prerelease: false
|
67
52
|
version_requirements: !ruby/object:Gem::Requirement
|
68
53
|
requirements:
|
69
54
|
- - "~>"
|
70
55
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
56
|
+
version: '0.7'
|
72
57
|
- - ">="
|
73
58
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
59
|
+
version: 0.7.2
|
75
60
|
- !ruby/object:Gem::Dependency
|
76
61
|
name: testdata_text
|
77
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,7 +78,7 @@ dependencies:
|
|
93
78
|
- !ruby/object:Gem::Version
|
94
79
|
version: 0.2.2
|
95
80
|
description:
|
96
|
-
email:
|
81
|
+
email: digital.robertson@gmail.com
|
97
82
|
executables: []
|
98
83
|
extensions: []
|
99
84
|
extra_rdoc_files: []
|
@@ -118,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
103
|
- !ruby/object:Gem::Version
|
119
104
|
version: '0'
|
120
105
|
requirements: []
|
121
|
-
|
122
|
-
rubygems_version: 2.7.6
|
106
|
+
rubygems_version: 3.2.22
|
123
107
|
signing_key:
|
124
108
|
specification_version: 4
|
125
109
|
summary: Generates a test suite of files (for use with the testdata gem) from a config
|
metadata.gz.sig
CHANGED
Binary file
|