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