tryouts 2.1.1 → 2.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 64a4341b114113a2302709a5d550682346092cc677c7dbc5933c6d7a3e139fa6
4
+ data.tar.gz: 7e1f1e8fed19debc6e2b7766e76510c7904c1b565ae6c841571a0c005fbc755f
5
+ SHA512:
6
+ metadata.gz: 0d6cb90fb7b6e14cbbff68fd5aa5f0d46e93453490a088cdd613cbaf5f10522409a784015fbe5215fcc27c730003a7d3f380df3c303d8f7f6e0293522ae2df45
7
+ data.tar.gz: 68f3f1202acf7f7e661435372bf4470462ff254cf2f25dd76902e4a01817d46a40a06e54e8b2a59acfb49c59520682234e19527a6745af0370d45c4cd675e278
data/lib/tryouts.rb CHANGED
@@ -1,9 +1,7 @@
1
- #require 'pathname'
2
- #p Pathname(caller.last.split(':').first)
3
1
  require 'ostruct'
4
2
 
5
3
  unless defined?(TRYOUTS_LIB_HOME)
6
- TRYOUTS_LIB_HOME = File.expand_path File.dirname(__FILE__)
4
+ TRYOUTS_LIB_HOME = File.expand_path File.dirname(__FILE__)
7
5
  end
8
6
 
9
7
  class Tryouts
@@ -31,42 +29,42 @@ class Tryouts
31
29
  class << self
32
30
  attr_accessor :debug, :container, :quiet, :noisy
33
31
  attr_reader :cases
34
-
32
+
35
33
  def sysinfo
36
34
  require 'sysinfo'
37
35
  @sysinfo ||= SysInfo.new
38
36
  @sysinfo
39
37
  end
40
-
38
+
41
39
  def debug?() @debug == true end
42
-
40
+
43
41
  def run_all *paths
44
42
  batches = paths.collect do |path|
45
43
  parse path
46
44
  end
47
-
45
+
48
46
  all, skipped_tests, failed_tests = 0, 0, 0
49
47
  skipped_batches, failed_batches = 0, 0
50
-
48
+
51
49
  msg 'Ruby %s @ %-40s' % [RUBY_VERSION, Time.now], $/
52
-
50
+
53
51
  batches.each do |batch|
54
-
52
+
55
53
  path = batch.path.gsub(/#{Dir.pwd}\/?/, '')
56
-
54
+
57
55
  vmsg '%-60s %s' % [path, '']
58
-
56
+
59
57
  before_handler = Proc.new do |t|
60
58
  if Tryouts.noisy
61
- vmsg Console.reverse(' %-58s ' % [t.desc.to_s])
59
+ vmsg Console.reverse(' %-58s ' % [t.desc.to_s])
62
60
  vmsg t.test.inspect, t.exps.inspect
63
61
  end
64
62
  end
65
-
63
+
66
64
  batch.run(before_handler) do |t|
67
- if t.failed?
65
+ if t.failed?
68
66
  failed_tests += 1
69
- if Tryouts.noisy
67
+ if Tryouts.noisy
70
68
  vmsg Console.color(:red, t.failed.join($/)), $/
71
69
  else
72
70
  msg ' %s (%s:%s)' % [Console.color(:red, "FAIL"), path, t.exps.first]
@@ -88,7 +86,7 @@ class Tryouts
88
86
  all += 1
89
87
  end
90
88
  end
91
-
89
+
92
90
  msg
93
91
  if all > 0
94
92
  suffix = 'tests passed'
@@ -100,22 +98,22 @@ class Tryouts
100
98
  suffix = "batches passed"
101
99
  suffix << " (and #{skipped_batches} skipped)" if skipped_batches > 0
102
100
  msg cformat(batches.size-skipped_batches-failed_batches, batches.size-skipped_batches, suffix)
103
- end
101
+ end
104
102
  end
105
-
103
+
106
104
  failed_tests # 0 means success
107
105
  end
108
-
106
+
109
107
  def cformat(*args)
110
108
  Console.bright '%d of %d %s' % args
111
109
  end
112
-
110
+
113
111
  def run path
114
112
  batch = parse path
115
113
  batch.run
116
114
  batch
117
115
  end
118
-
116
+
119
117
  def parse path
120
118
  #debug "Loading #{path}"
121
119
  lines = File.readlines path
@@ -139,17 +137,17 @@ class Tryouts
139
137
  end
140
138
  exps.last += 1
141
139
  end
142
-
140
+
143
141
  offset = 0
144
142
  buffer, desc = Section.new(path), Section.new(path)
145
- test = Section.new(path, idx) # test start the line before the exp.
143
+ test = Section.new(path, idx) # test start the line before the exp.
146
144
  blank_buffer = Section.new(path)
147
145
  while (idx-offset >= 0)
148
146
  offset += 1
149
147
  this_line = lines[idx-offset].chomp
150
148
  buffer.unshift this_line if ignore?(this_line)
151
149
  if comment?(this_line)
152
- buffer.unshift this_line
150
+ buffer.unshift this_line
153
151
  end
154
152
  if test?(this_line)
155
153
  test.unshift(*buffer) && buffer.clear
@@ -167,47 +165,47 @@ class Tryouts
167
165
  desc.unshift *buffer
168
166
  desc.last = test.first-1
169
167
  desc.first = desc.last-desc.size+1
170
- # remove empty lines between the description
168
+ # remove empty lines between the description
171
169
  # and the previous expectation
172
- while !desc.empty? && desc[0].empty?
170
+ while !desc.empty? && desc[0].empty?
173
171
  desc.shift
174
172
  desc.first += 1
175
173
  end
176
- break
174
+ break
177
175
  end
178
176
  end
179
-
177
+
180
178
  batch << TestCase.new(desc, test, exps)
181
179
  end
182
180
  end
183
-
181
+
184
182
  batch
185
183
  end
186
-
184
+
187
185
  def print str
188
186
  return if Tryouts.quiet
189
187
  STDOUT.print str
190
188
  STDOUT.flush
191
189
  end
192
-
190
+
193
191
  def vmsg *msg
194
192
  STDOUT.puts *msg if !Tryouts.quiet && Tryouts.noisy
195
193
  end
196
-
194
+
197
195
  def msg *msg
198
196
  STDOUT.puts *msg unless Tryouts.quiet
199
197
  end
200
-
198
+
201
199
  def err *msg
202
200
  msg.each do |line|
203
201
  STDERR.puts Console.color :red, line
204
202
  end
205
203
  end
206
-
204
+
207
205
  def debug *msg
208
206
  STDERR.puts *msg if @debug
209
207
  end
210
-
208
+
211
209
  def eval(str, path, line)
212
210
  begin
213
211
  Kernel.eval str, @container.send(:binding), path, line
@@ -217,34 +215,34 @@ class Tryouts
217
215
  nil
218
216
  end
219
217
  end
220
-
218
+
221
219
  private
222
-
220
+
223
221
  def expectation? str
224
222
  !ignore?(str) && str.strip.match(/\A\#+\s*=>/)
225
223
  end
226
-
224
+
227
225
  def comment? str
228
226
  !str.strip.match(/^\#+/).nil? && !expectation?(str)
229
227
  end
230
-
228
+
231
229
  def test? str
232
230
  !ignore?(str) && !expectation?(str) && !comment?(str)
233
231
  end
234
-
232
+
235
233
  def ignore? str
236
234
  str.to_s.strip.chomp.empty?
237
235
  end
238
-
236
+
239
237
  def test_begin? str
240
238
  ret = !str.strip.match(/\#+\s*TEST/i).nil? ||
241
239
  !str.strip.match(/\A\#\#+[\s\w]+/i).nil?
242
240
  ret
243
241
  end
244
242
 
245
-
243
+
246
244
  end
247
-
245
+
248
246
  class TestBatch < Array
249
247
  class Container
250
248
  def metaclass
@@ -262,12 +260,12 @@ class Tryouts
262
260
  def run(before_test, &after_test)
263
261
  return if empty?
264
262
  setup
265
- ret = self.select { |tc|
263
+ ret = self.select { |tc|
266
264
  before_test.call(tc) unless before_test.nil?
267
- ret = !tc.run
265
+ ret = !tc.run
268
266
  after_test.call(tc)
269
267
  ret # select failed tests
270
- }
268
+ }
271
269
  @failed = ret.size
272
270
  @run = true
273
271
  clean
@@ -306,27 +304,27 @@ class Tryouts
306
304
  def run
307
305
  Tryouts.debug '%s:%d' % [@test.path, @test.first]
308
306
  Tryouts.debug inspect, $/
309
- expectations = exps.collect { |exp,idx|
307
+ expectations = exps.collect { |exp,idx|
310
308
  exp =~ /\A\#?\s*=>\s*(.+)\Z/
311
309
  $1 # this will be nil if the expectation is commented out
312
310
  }
313
-
311
+
314
312
  # Evaluate test block only if there are valid expectations
315
313
  unless expectations.compact.empty?
316
314
  test_value = Tryouts.eval @test.to_s, @test.path, @test.first
317
315
  @has_run = true
318
316
  end
319
-
317
+
320
318
  @passed, @failed, @skipped = [], [], []
321
- expectations.each_with_index { |exp,idx|
319
+ expectations.each_with_index { |exp,idx|
322
320
  if exp.nil?
323
321
  @skipped << ' [skipped]'
324
322
  else
325
323
  exp_value = Tryouts.eval(exp, @exps.path, @exps.first+idx)
326
324
  if test_value == exp_value
327
- @passed << ' == %s' % [test_value.inspect]
325
+ @passed << ' == %s' % [test_value.inspect]
328
326
  else
329
- @failed << ' != %s' % [test_value.inspect]
327
+ @failed << ' != %s' % [test_value.inspect]
330
328
  end
331
329
  end
332
330
  }
@@ -366,9 +364,9 @@ class Tryouts
366
364
  end
367
365
  end
368
366
 
369
-
367
+
370
368
  module Console
371
-
369
+
372
370
  # ANSI escape sequence numbers for text attributes
373
371
  ATTRIBUTES = {
374
372
  :normal => 0,
@@ -408,7 +406,7 @@ class Tryouts
408
406
  :default => 49,
409
407
  :random => 40 + rand(10).to_i
410
408
  }.freeze unless defined? BGCOLOURS
411
-
409
+
412
410
  module InstanceMethods
413
411
  def bright
414
412
  Console.bright(self)
@@ -426,7 +424,7 @@ class Tryouts
426
424
  Console.bgcolor(col, self)
427
425
  end
428
426
  end
429
-
427
+
430
428
  def self.bright(str)
431
429
  str = [style(ATTRIBUTES[:bright]), str, default_style].join
432
430
  str.extend Console::InstanceMethods
@@ -463,4 +461,3 @@ class Tryouts
463
461
  end
464
462
 
465
463
  end
466
-
metadata CHANGED
@@ -1,77 +1,61 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tryouts
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
5
- prerelease:
4
+ version: 2.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Delano Mandelbaum
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
11
+ date: 2024-04-05 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sysinfo
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 0.7.3
19
+ version: '0.10'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 0.7.3
30
- description: Don't waste your time writing tests
26
+ version: '0.10'
27
+ description: 'Tryouts: Don''t waste your time writing tests'
31
28
  email: delano@solutious.com
32
29
  executables:
33
30
  - try
34
31
  extensions: []
35
- extra_rdoc_files:
36
- - LICENSE.txt
37
- - README.rdoc
32
+ extra_rdoc_files: []
38
33
  files:
39
- - .gitignore
40
- - CHANGES.txt
41
34
  - LICENSE.txt
42
- - README.rdoc
43
35
  - Rakefile
44
- - VERSION.yml
45
36
  - bin/try
46
37
  - lib/tryouts.rb
47
- - try/step1_try.rb
48
- - try/step2_try.rb
49
- - try/step3_try.rb
50
- - try/step4_try.rb
51
- - tryouts.gemspec
52
38
  homepage: http://github.com/delano/tryouts
53
- licenses: []
54
- post_install_message:
55
- rdoc_options:
56
- - --charset=UTF-8
39
+ licenses:
40
+ - MIT
41
+ metadata: {}
42
+ post_install_message:
43
+ rdoc_options: []
57
44
  require_paths:
58
45
  - lib
59
46
  required_ruby_version: !ruby/object:Gem::Requirement
60
- none: false
61
47
  requirements:
62
- - - ! '>='
48
+ - - ">="
63
49
  - !ruby/object:Gem::Version
64
- version: '0'
50
+ version: 2.6.8
65
51
  required_rubygems_version: !ruby/object:Gem::Requirement
66
- none: false
67
52
  requirements:
68
- - - ! '>='
53
+ - - ">="
69
54
  - !ruby/object:Gem::Version
70
55
  version: '0'
71
56
  requirements: []
72
- rubyforge_project: tryouts
73
- rubygems_version: 1.8.22
74
- signing_key:
75
- specification_version: 3
57
+ rubygems_version: 3.5.7
58
+ signing_key:
59
+ specification_version: 4
76
60
  summary: Don't waste your time writing tests
77
61
  test_files: []
data/.gitignore DELETED
@@ -1 +0,0 @@
1
- pkg
data/CHANGES.txt DELETED
@@ -1,35 +0,0 @@
1
- TRYOUTS, CHANGES
2
-
3
- #### 2.1.0 (2011-02-12) ###############################
4
-
5
- * CHANGE: Default output is less verbose (eg. PASS/FAIL/SKIP)
6
- * CHANGE: -q now prints nothing to STDOUT. Check $?. If 0, all tests pass
7
- otherwise it contains the number of tests that failed.
8
- * ADDED: -v option for increased output.
9
-
10
-
11
- #### 2.0.4 (2011-01-06) ###############################
12
-
13
- * ADDED: -q option for reduced output.
14
-
15
- #### 2.0.3 (2010-11-03) ###############################
16
-
17
- * FIXED: Print test value not expected value twice!
18
-
19
- #### 2.0.2 (2010-11-03) ###############################
20
-
21
- * FIXED: Properly skip test cases with commented out expectations (i.e ##=>)
22
- * CHANGE: Revised CLI output. Print output for each test case as it's running.
23
-
24
-
25
- #### 2.0.1.002 (2010-07-21) ###############################
26
-
27
- * FIXED: clean error (bad value for range). Didn't run tryouts. Bad Delano!
28
-
29
- #### 2.0.1 (2010-07-21) ###############################
30
-
31
- * FIXED: Fix range of lines executed for clean, was double executing most test defs
32
-
33
- #### 2.0.0 (2010-07-19) ###############################
34
-
35
- Initial 2.0 release.
data/README.rdoc DELETED
@@ -1,123 +0,0 @@
1
- = Tryouts v2.0 ALPHA
2
-
3
- <i>Don't waste your time writing tests.</i>
4
-
5
- <b>NOTE: Tryouts syntax changed since 0.x. The old version is still available in the 0.8-FINAL branch.</b>
6
-
7
- Check out the screencast[http://www.rubypulse.com/episode-0.46_tryouts.html] created by Alex Peuchert.
8
-
9
-
10
- == Basic syntax
11
-
12
- ## A very simple test
13
- 1 + 1
14
- #=> 2
15
-
16
- ## The test description can spread
17
- ## across multiple lines. The same
18
- ## is true for test definitions.
19
- a = 'foo'
20
- b = 'bar'
21
- a + b
22
- #=> 'foobar'
23
-
24
- ## A test will pass when its return
25
- ## value equals the expectation.
26
- 'foo'.class
27
- #=> String
28
-
29
- ## The expectations are evaluated.
30
- 1 + 1
31
- #=> 1 + 1
32
-
33
- ## Here's an example of testing errors
34
- begin
35
- raise RuntimeError
36
- rescue RuntimeError
37
- :success
38
- end
39
- #=> :success
40
-
41
- For real world examples, see the Gibbler[http://github.com/delano/gibbler/tree/master/try/] tryouts.
42
-
43
- == Setup / Cleanup
44
-
45
- All code before the first test definition is assumed to be setup code. All code after the last definition is assumed to be cleanup code. Here is an example:
46
-
47
-
48
- # This is called after all tests
49
- require 'gibbler'
50
- Gibbler.digest_type = Digest::SHA256
51
-
52
- ## A Symbol can gibbler
53
- :anything.gibbler
54
- #=> '754f87ca720ec256633a286d9270d68478850b2abd7b0ae65021cb769ae70c08'
55
-
56
- # This will be called after all tests
57
- Gibbler.digest_type = Digest::SHA1
58
-
59
-
60
- == Running Tests
61
-
62
- Try ships with a command-line tool called <tt>try</tt>. When called with no arguments, it will look for files ending with _try.rb in the current directory, or in the subfolder try.
63
-
64
- You can also supply a specific file to test.
65
-
66
- $ try path/2/test.rb
67
- Ruby 1.9.1 @ 2011-01-06 12:38:29 -0500
68
-
69
- # TEST 1: test matches result with expectation
70
- 7 a = 1 + 1
71
- 8 #=> 2
72
- == 2
73
- ...
74
-
75
- ## TEST 12: comments, tests, and expectations can
76
- ## contain multiple lines
77
- 13 a = 1
78
- 14 b = 2
79
- 15 a + b
80
- 16 # => 3
81
- 17 # => 2 + 1
82
- == 3
83
- == 3
84
-
85
- 12 of 12 tests passed (and 5 skipped)
86
-
87
-
88
- If all tests pass, try exits with a 0. Otherwise it exits with the number of tests that failed.
89
-
90
-
91
- For reduced output, use the `-q` option:
92
-
93
- $ try -q
94
- Ruby 1.9.1 @ 2011-01-06 12:38:29 -0500
95
-
96
- 42 of 42 tests passed (and 5 skipped)
97
- 4 of 4 batches passed
98
-
99
-
100
- == Installation
101
-
102
- One of:
103
-
104
- $ gem install tryouts
105
-
106
-
107
-
108
- == Credits
109
-
110
- * delano[http://github.com/delano]
111
-
112
- With help from:
113
-
114
- * cloudhead[http://github.com/cloudhead]
115
- * mynyml[http://github.com/mynyml]
116
-
117
- == Thanks
118
-
119
- * Syntenic[http://syntenic.com/] for the hackfest venue.
120
- * AlexPeuchert[http://www.rubypulse.com/] for the screencast.
121
- * Christian Michon for suggesting a better default output format.
122
-
123
- <i>This collision was brought to you by Montreal.rb.</i>
data/VERSION.yml DELETED
@@ -1,4 +0,0 @@
1
- ---
2
- :MAJOR: 2
3
- :MINOR: 1
4
- :PATCH: 1
data/try/step1_try.rb DELETED
@@ -1,51 +0,0 @@
1
- require 'rubygems'
2
- require 'hexoid'
3
-
4
- POOP = 1
5
-
6
- # TEST 1: test matches result with expectation
7
- a = 1 + 1
8
- #=> 2
9
-
10
-
11
- ## TEST 2: comments, tests, and expectations can
12
- ## contain multiple lines
13
- a = 1
14
- b = 2
15
- a + b
16
- # => 3
17
- # => 2 + 1
18
-
19
- # TEST 3: test expectation type matters
20
- 'foo'.class
21
- #=> String
22
-
23
-
24
- # TEST 4: instance variables can be used in expectations
25
- @a = 1
26
- @a
27
- #=> @a
28
-
29
-
30
- # TEST 5: test ignores blank lines before expectations
31
- @a += 1
32
- 'foo'
33
-
34
-
35
- #=> 'foo'
36
-
37
-
38
- # TEST 6: test allows whiny expectation markers for textmate users *sigh*
39
- 'foo'
40
- # => 'foo'
41
-
42
-
43
- # TEST 7: test expectations can be commented out
44
- 'foo'
45
- ##=> 'this would fail'
46
-
47
- x = raise rescue 'foo'
48
- #=> 'foo'
49
-
50
-
51
-
data/try/step2_try.rb DELETED
@@ -1,59 +0,0 @@
1
- # run me with
2
- # ruby -rubygems -Ilib step1_tryouts.rb
3
-
4
-
5
- ## some addition
6
- a = 1
7
- b = 2
8
- a + b + 1
9
- # => 4
10
-
11
-
12
- # multiple expectations
13
- 'foo' + 'bar'
14
- #=> 'foobar'
15
- #=> :foobar.to_s
16
-
17
-
18
- # test ignores comments before expectations
19
- 'foo'
20
- # ignored comment
21
- # ignored comment
22
- #=> 'foo'
23
-
24
-
25
- ## test uses helper methods
26
- ## ( #foo is defined on top of file )
27
- #foo()
28
- ##=> foo
29
-
30
-
31
- #begin
32
- # raise
33
- #rescue
34
- # 'foo'
35
- #end
36
- ##=> 'foo'
37
-
38
- ## test handles multiple code lines
39
- ## only only tests last line against expectation
40
- #str = ""
41
- #str << 'foo'
42
- #str << 'bar'
43
- #str
44
- ##=> 'foobar'
45
- ##
46
- ### test failure
47
- ##'this fails'
48
- ###=> 'expectation not met'
49
- #
50
-
51
-
52
- #
53
- # require 'pathname'
54
- # require Pathname(__FILE__).dirname.parent + 'lib/nofw'
55
- #
56
- # # test failure
57
- # 'this fails'
58
- # #=> 'expectation not met'
59
- #
data/try/step3_try.rb DELETED
@@ -1,19 +0,0 @@
1
-
2
-
3
- begin
4
- raise
5
- rescue
6
- 'foo'
7
- end
8
- #=> 'foo'
9
-
10
- # test handles multiple code lines
11
- # only only tests last line against expectation
12
- str = ""
13
- str << 'foo'
14
- str << 'bar'
15
- str
16
- #=> 'foobar'
17
-
18
-
19
-
data/try/step4_try.rb DELETED
@@ -1,6 +0,0 @@
1
- require 'pathname'
2
- require Pathname(__FILE__).dirname.parent + 'lib/nofw'
3
-
4
-
5
- # The syntax could be a derivative from step 3 (helpers?)
6
-
data/tryouts.gemspec DELETED
@@ -1,54 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "tryouts"
8
- s.version = "2.1.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Delano Mandelbaum"]
12
- s.date = "2012-04-30"
13
- s.description = "Don't waste your time writing tests"
14
- s.email = "delano@solutious.com"
15
- s.executables = ["try"]
16
- s.extra_rdoc_files = [
17
- "LICENSE.txt",
18
- "README.rdoc"
19
- ]
20
- s.files = [
21
- ".gitignore",
22
- "CHANGES.txt",
23
- "LICENSE.txt",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION.yml",
27
- "bin/try",
28
- "lib/tryouts.rb",
29
- "try/step1_try.rb",
30
- "try/step2_try.rb",
31
- "try/step3_try.rb",
32
- "try/step4_try.rb",
33
- "tryouts.gemspec"
34
- ]
35
- s.homepage = "http://github.com/delano/tryouts"
36
- s.rdoc_options = ["--charset=UTF-8"]
37
- s.require_paths = ["lib"]
38
- s.rubyforge_project = "tryouts"
39
- s.rubygems_version = "1.8.22"
40
- s.summary = "Don't waste your time writing tests"
41
-
42
- if s.respond_to? :specification_version then
43
- s.specification_version = 3
44
-
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_runtime_dependency(%q<sysinfo>, [">= 0.7.3"])
47
- else
48
- s.add_dependency(%q<sysinfo>, [">= 0.7.3"])
49
- end
50
- else
51
- s.add_dependency(%q<sysinfo>, [">= 0.7.3"])
52
- end
53
- end
54
-