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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 560dc7d23a4b2dc3330982f8ca4ddbba94461f17ff22c4296d842eda8c92cd19
4
- data.tar.gz: 3a5643258d69a643a57395f77d335acf78887187d70168e536c33d7141719955
3
+ metadata.gz: 076b25cb13801fa21a785e8fc79f3907725af4ad499daa6f82901bb7896fdadd
4
+ data.tar.gz: bf84ef76c61f536d6b9a21e65966d75dc37e1dbf5d554ae8bb02103e8dabc9d5
5
5
  SHA512:
6
- metadata.gz: 6daac63a4f2e865788879f9541dde921f9dfd98580a48f0d725699ec535c43059087e1f9f6e36585d042bdee550e5a180f363a58a844c133ec62ebe95a315b3d
7
- data.tar.gz: 219ebfe3cabc637e4db9966978843787f5d7cff22ece377052f4b64a5e3ca2a16e61f84d50a3bc80136ad9b14e31bd7651a6271a5e64aafd2ae312e982de691c
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 = RXFHelper.read @testdata_file
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, _ = RXFHelper.read(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, _ = RXFHelper.read(test_template_rsf)
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 = RXFHelper.read testdata_file
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
- puts 'input_vars: ' + input_vars.inspect
255
- puts 'tests[i][1]: ' + tests[i][1].inspect
256
- 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
+
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
- "test_%s =<<EOF\n%s\nEOF\n" % [input.name,
263
- 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
+
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") + "\n\n\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.3.1
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
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwMjAxMjA0MzE4WhcN
15
- MjIwMjAxMjA0MzE4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDYLk88
17
- mTT4qYC19ZG6k74St4hkvxBobe3p57tvSRljHhahLrVtUFM0i2YzjyJi9PM7q1jm
18
- RCtp69apz9E5l9s3y0NBbipKGVvksf48WmwO1tWKxks9E6CG3D+qVE+lw9yGgbid
19
- vSAOSmY7kARA/PWNpokk4AGSK9au2z0xM6TAGRuTeXoRswTc0u2WW+LJCNgapTVB
20
- OnclLXN9sNLJCRHWGRXwCdXd1ln1KRxtIZgnVxttHDtCL8UjpIw+JI+tGKqRwiOg
21
- HQDS8SqH4+KxR8+0XvRoVqQ3d8ozuDgtsaW6diEYXgR4z/ys9LJUiKpOB2Tquobs
22
- n9L96U0M3zUF5WGGM/Q2Ux1TY4h0OOOgEwb8V8/u0hHIJKOuDClYjTRWu7FBJRx7
23
- 2f7NqbErCfutAfm2hQpj9thMrpjgMlf68ZTcrHiK8Loq4+LZoB+bAlZ+VQb5eYvR
24
- UXfpjmEP30rnulkQFt9qwTtQUUY5/5/MeU29eoSgRg+dPKebapwxF80Fgb0CAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUmNd64gCU
26
- Me3RqaJGrXkwrpyEigswJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
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
- BgkqhkiG9w0BAQsFAAOCAYEA1RgOx9puiSkwKJn487dnDiuRSVsuBJFMZZhp+shk
29
- ajXuyuC1TXrV97c14khNoUNofRhusOTgKkO6l/ouJsObSzUIFIQHt8ljFowM7rM6
30
- ZOrFT08G0akM84d1dUCGCpTZyW7M0HmNxh4Yn2hIChejsfgwYZmesL7grqJ3WKvE
31
- KZF9E6c0A0a60gAZWXb0Of0yXTSqiX2uNEkM7STyG+yu/XzLus+z2rEYdUFaxfvW
32
- +AAeovOz8G+IQhuHZ6zG3KtRYeHq0057/tC44obGbyNOXC0twIUGJ0ajRedNKEc2
33
- OC0wzHol3qEYmVai7DkQL8xX7m3VsWd/0JbS+tzchySc/e2R1I3FAGeOSzmUSN6o
34
- 0CPM0BbOB4yUW+Ev7o3g31CsFuQ+5bCgR7n64QwTeHjlgFelmaJ1XalvnBC97S6k
35
- /B2OocR7kLmSGm860fyULSY2RzLBKLOhjQHnrSiHj6n9pWrmkd+7Zxo/up/Jq4Xv
36
- 0cPz7gMjFOVqEBQuSfoVKd9K
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: 2021-02-01 00:00:00.000000000 Z
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.1
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.1
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: james@jamesrobertson.eu
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
- rubyforge_project:
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