testkit123 0.2.6 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eeae4cbfeefae68b91b80d42998690091b949d77e6ccfd76d5a99e01cf16f9d7
4
- data.tar.gz: c41884dc3440835042dec691831bf73d1dea1b3f7d9d92b14e83a18cacaa3afb
3
+ metadata.gz: 076b25cb13801fa21a785e8fc79f3907725af4ad499daa6f82901bb7896fdadd
4
+ data.tar.gz: bf84ef76c61f536d6b9a21e65966d75dc37e1dbf5d554ae8bb02103e8dabc9d5
5
5
  SHA512:
6
- metadata.gz: 9568eda11b89bb92c4765a25373bbf29b2ae2e022291530e1da7d45c8120f15d9e721adb23ae7f00c40f8129c3effca088debbc945b026124014ad76df505d3c
7
- data.tar.gz: 0e8ec37cfb4406b7551b5a9bf97ea8641b531cd07bef1e2379f7214cc0b55b758f334ff057a78ba4c2a20a8c970734c2fb5d4058c540a730ab37bb4e54e5a129
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
- def initialize(templates: {testdata: nil, testx: nil}, project: nil,
27
- debug: false, localpath: nil, datapath: nil,
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
- elsif project
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
- @localpath, @datapath, @gemtest_url = localpath, datapath, gemtest_url
42
- @rubyver = rubyver
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, _ = RXFHelper.read(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, _ = RXFHelper.read(test_template_rsf)
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
- config = SimpleConfig.new(@project_config).to_h
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 = a[0].match(/(?<=['"])(?<test>[^"']+)['"]\s+do\s+\|(?<raw_args>[^\|]+)/)
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 = RXFHelper.read testdata_file
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
- puts 'input_vars: ' + input_vars.inspect
199
- puts 'tests[i][1]: ' + tests[i][1].inspect
200
- puts 'zip: ' + tests[i][1].zip(input_vars).inspect
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], 'test_' + x[1])
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
- "test_%s =<<EOF\n%s\nEOF\n" % [input.name,
207
- input.texts.join.gsub(/'/,"\'").strip]
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") + "\n\n\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 make_testdata(s)
260
-
261
- inputs = s.scan(/test_([\w]+) += +['"]([^'"]+)/)\
262
- .inject({}){|r,x| r.merge(x.first.to_sym => x.last)}
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: {result: ''},
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.2.6
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
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwNzE1MTYwNTQ4WhcN
15
- MTkwNzE1MTYwNTQ4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtgJ54
17
- gKuobwa5Won07os+Evt07yvbyEB7OBxwD3rnv1oNLxlx1wkOD2DNeZd4Otw1Dl6M
18
- plfQUJCzRU9sQ5cAKqHVDPpf+EJIPm2bATJlO8w//F/LULbN1h8VsbGBcXUu3VoX
19
- m2Bf6EesFKM/+BiMujEDX9EBy3hCJp7Bkn4WMk4PRwUdEBE8TEFj9T947+JVqZdR
20
- 3s4+DtYzFWbX9MuNzeQlAxcjV1iFgTS2G/GY6k6hJl0HhFnHfqftfqKgLIRZY4yF
21
- LIkb5Kvj/yA1gYctId0lk1PrntSchvQvzYDAOrf8lOY3M3JLkiOWzwcRWDoPWCaI
22
- PdYjRk0ij/x2zKS3AgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFJig7R4v8LRxNY/3qFTqBFgZT6FzMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAAaMtjTuuZeFtw4VuH9W
26
- UozGqMeTxP2VkMw2vmaN+IF6jhNFBIDhgrQGNwijCsFZfMwl7efQ6PM2XIqXtJCZ
27
- O8CrfJ+Y64IszwHeNSzyxi1FFMfUYAafQq3E+E8KTk0PaCl9AEa1zxwkBWkGHzKG
28
- P1svw5bfBxQ9epcI9Ir00sKkx0S1mANSrwH6k2pKwOSpxhhX2Wlx6L4mnME0CTq8
29
- 6nk4O0PjUWuXrqQKUG4AtGeMPImOKz8uo+/wyaRZR/I+suAoL2xHo7RYqZwoCfQv
30
- MBi32Noiyau3znLWYXucwnOR8dh4RhcwxaP82ZX6Up19+qVqJqravkDQ+OBff6o+
31
- m3U=
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: 2018-11-21 00:00:00.000000000 Z
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.6'
46
+ version: '0.7'
62
47
  - - ">="
63
48
  - !ruby/object:Gem::Version
64
- version: 0.6.4
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.6'
56
+ version: '0.7'
72
57
  - - ">="
73
58
  - !ruby/object:Gem::Version
74
- version: 0.6.4
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: james@jamesrobertson.eu
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
- rubyforge_project:
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