cuke_cataloger 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,15 +18,16 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_runtime_dependency 'cuke_modeler', '>= 0.2', '< 2.0'
22
- spec.add_runtime_dependency 'cql', '~>1.0', '>= 1.0.1'
23
- spec.add_runtime_dependency 'rake', '< 13.0'
24
- spec.add_runtime_dependency 'thor', '~> 0.0'
21
+ spec.add_runtime_dependency 'cuke_modeler', '>= 0.2', '< 4.0'
22
+ spec.add_runtime_dependency 'cql', '>= 1.0.1', '< 2.0'
23
+ spec.add_runtime_dependency 'rake', '< 14.0'
24
+ spec.add_runtime_dependency 'thor', '< 2.0'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.5'
27
- spec.add_development_dependency 'cucumber', '< 3.0'
26
+ spec.add_development_dependency "bundler", '< 3'
27
+ spec.add_development_dependency 'cucumber', '< 4.0'
28
28
  spec.add_development_dependency 'rspec', '~> 3.0'
29
29
  spec.add_development_dependency 'racatt', '~> 1.0'
30
30
  spec.add_development_dependency 'simplecov', '< 1.0'
31
31
  spec.add_development_dependency 'coveralls', '< 1.0'
32
+ spec.add_development_dependency 'rainbow', '< 4.0.0'
32
33
  end
@@ -14,7 +14,7 @@ module CukeCataloger
14
14
  # Where the id tag should be placed, relative to the other tags on the test
15
15
  attr_accessor :tag_location
16
16
 
17
-
17
+ # Creates a new UniqueTestCaseTagger object
18
18
  def initialize
19
19
  @file_line_increases = Hash.new(0)
20
20
  @tag_location = :adjacent
@@ -157,7 +157,7 @@ module CukeCataloger
157
157
  from features, scenarios, outlines, examples
158
158
  end.collect { |result| result['tags'] }.flatten
159
159
 
160
- @existing_tags.collect! { |tag| tag.name } if Gem.loaded_specs['cuke_modeler'].version.version[/^1/]
160
+ @existing_tags.collect! { |tag| tag.name } unless cuke_modeler?(0)
161
161
  end
162
162
 
163
163
  test_id_tag = static_id_tag_for(test)
@@ -170,7 +170,7 @@ module CukeCataloger
170
170
  def check_for_multiple_test_id_tags(test)
171
171
  tags = test.tags
172
172
 
173
- tags = tags.collect { |tag| tag.name } if Gem.loaded_specs['cuke_modeler'].version.version[/^1/]
173
+ tags = tags.collect { |tag| tag.name } unless cuke_modeler?(0)
174
174
 
175
175
  id_tags_found = tags.select { |tag| tag =~ @tag_pattern }
176
176
 
@@ -258,7 +258,7 @@ module CukeCataloger
258
258
 
259
259
  if id_index
260
260
  cell_value = row.cells[id_index]
261
- cell_value = cell_value.value if Gem.loaded_specs['cuke_modeler'].version.version[/^1/]
261
+ cell_value = cell_value.value unless cuke_modeler?(0)
262
262
 
263
263
  cell_value != '' ? cell_value : nil
264
264
  end
@@ -343,7 +343,7 @@ module CukeCataloger
343
343
  File.open(file_path, 'w') { |file| file.print file_lines.join }
344
344
  @file_line_increases[file_path] += 1
345
345
 
346
- if Gem.loaded_specs['cuke_modeler'].version.version[/^0/]
346
+ if cuke_modeler?(0)
347
347
  test.tags << tag
348
348
  else
349
349
  new_tag = CukeModeler::Tag.new
@@ -356,7 +356,7 @@ module CukeCataloger
356
356
  feature_file = test.get_ancestor(:feature_file)
357
357
  file_path = feature_file.path
358
358
  index_adjustment = @file_line_increases[file_path]
359
- method_for_rows = Gem.loaded_specs['cuke_modeler'].version.version[/^0/] ? :row_elements : :rows
359
+ method_for_rows = cuke_modeler?(0) ? :row_elements : :rows
360
360
 
361
361
  test.examples.each do |example|
362
362
  unless has_id_parameter?(example, id_column_name)
@@ -375,7 +375,7 @@ module CukeCataloger
375
375
  feature_file = test.get_ancestor(:feature_file)
376
376
  file_path = feature_file.path
377
377
  index_adjustment = @file_line_increases[file_path]
378
- method_for_rows = Gem.loaded_specs['cuke_modeler'].version.version[/^0/] ? :row_elements : :rows
378
+ method_for_rows = cuke_modeler?(0) ? :row_elements : :rows
379
379
 
380
380
  tag_index = fast_id_tag_for(test)[/\d+/]
381
381
 
@@ -433,7 +433,7 @@ module CukeCataloger
433
433
  def id_tag_for(thing)
434
434
  tags = thing.tags
435
435
 
436
- tags = tags.collect { |tag| tag.name } unless Gem.loaded_specs['cuke_modeler'].version.version[/^0/]
436
+ tags = tags.collect { |tag| tag.name } unless cuke_modeler?(0)
437
437
 
438
438
  tags.select { |tag| tag =~ @tag_pattern }.first
439
439
  end
@@ -494,7 +494,7 @@ module CukeCataloger
494
494
  end
495
495
 
496
496
  def example_rows_for(example)
497
- method_for_rows = Gem.loaded_specs['cuke_modeler'].version.version[/^0/] ? :row_elements : :rows
497
+ method_for_rows = cuke_modeler?(0) ? :row_elements : :rows
498
498
 
499
499
  rows = example.send(method_for_rows).dup
500
500
  rows.shift
@@ -503,8 +503,8 @@ module CukeCataloger
503
503
  end
504
504
 
505
505
  def add_to_results(item, issue = nil)
506
- result = {:test => "#{item.get_ancestor(:feature_file).path}:#{item.source_line}", :object => item}
507
- result.merge!({:problem => issue}) if issue
506
+ result = { :test => "#{item.get_ancestor(:feature_file).path}:#{item.source_line}", :object => item }
507
+ result.merge!({ :problem => issue }) if issue
508
508
 
509
509
  @results << result
510
510
  end
@@ -514,8 +514,8 @@ module CukeCataloger
514
514
  sub_ids = known_ids.select { |id| id =~ /^\d+-\d+$/ }
515
515
 
516
516
  max_primary_id = primary_ids.collect { |id| id.to_i }.max || 0
517
- default_indexes = {:primary => max_primary_id + 1,
518
- :sub => {}}
517
+ default_indexes = { :primary => max_primary_id + 1,
518
+ :sub => {} }
519
519
 
520
520
  sub_primaries = sub_ids.collect { |sub_id| sub_id[/^\d+/] }
521
521
 
@@ -560,7 +560,6 @@ module CukeCataloger
560
560
 
561
561
  # Adds an id to the given value row (which has a column for an id but no value for it)
562
562
  def fill_in_row(file_lines, line_index, row, row_id, id_column_name)
563
- old_row = file_lines[line_index] # todo - Dead line of code?
564
563
  sections = file_lines[line_index].split('|', -1)
565
564
 
566
565
  replacement_index = determine_row_id_cell_index(row, id_column_name)
@@ -587,7 +586,7 @@ module CukeCataloger
587
586
  def determine_highest_tag_line(test)
588
587
  return adjacent_tag_line(test) if test.tags.empty?
589
588
 
590
- method_for_tag_models = Gem.loaded_specs['cuke_modeler'].version.version[/^0/] ? :tag_elements : :tags
589
+ method_for_tag_models = cuke_modeler?(0) ? :tag_elements : :tags
591
590
 
592
591
  test.send(method_for_tag_models).collect { |tag_element| tag_element.source_line }.min - 1
593
592
  end
@@ -595,7 +594,7 @@ module CukeCataloger
595
594
  def determine_lowest_tag_line(test)
596
595
  return adjacent_tag_line(test) if test.tags.empty?
597
596
 
598
- method_for_tag_models = Gem.loaded_specs['cuke_modeler'].version.version[/^0/] ? :tag_elements : :tags
597
+ method_for_tag_models = cuke_modeler?(0) ? :tag_elements : :tags
599
598
 
600
599
  test.send(method_for_tag_models).collect { |tag_element| tag_element.source_line }.max
601
600
  end
@@ -604,5 +603,13 @@ module CukeCataloger
604
603
  (test.source_line - 1)
605
604
  end
606
605
 
606
+ def cuke_modeler?(*versions)
607
+ versions.include?(cuke_modeler_major_version)
608
+ end
609
+
610
+ def cuke_modeler_major_version
611
+ Gem.loaded_specs['cuke_modeler'].version.version.match(/^(\d+)\./)[1].to_i
612
+ end
613
+
607
614
  end
608
615
  end
@@ -1,4 +1,4 @@
1
1
  module CukeCataloger
2
2
  # The current version of the gem
3
- VERSION = '1.5.0'
3
+ VERSION = '1.6.0'
4
4
  end
@@ -18,12 +18,12 @@ end
18
18
 
19
19
  And(/^a start index of "([^"]*)"$/) do |index|
20
20
  @start_index ||= {:sub => {}}
21
- @start_index[:primary] = index
21
+ @start_index[:primary] = index.to_i
22
22
  end
23
23
 
24
24
  And(/^a start index of "([^"]*)" for testcase "([^"]*)"$/) do |sub_index, parent_index|
25
25
  @start_index ||= {:sub => {}}
26
- @start_index[:sub][parent_index.to_s] = sub_index
26
+ @start_index[:sub][parent_index.to_s] = sub_index.to_i
27
27
  end
28
28
 
29
29
  Given(/^a feature file$/) do
@@ -1,6 +1,6 @@
1
1
  Then(/^the resulting file(?: "([^"]*)")? is:$/) do |file_index, expected_text|
2
2
  file_index ||= 1
3
- file_name = @feature_files[file_index - 1]
3
+ file_name = @feature_files[file_index.to_i - 1]
4
4
 
5
5
  actual_text = File.read(file_name)
6
6
 
@@ -0,0 +1,40 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
20
+ elsif RUBY_VERSION =~ /^1\./
21
+ gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
25
+ else
26
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
27
+ gem 'cucumber', '2.2.0'
28
+ end
29
+
30
+ if RUBY_VERSION =~ /^1\./
31
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
32
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
33
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
34
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
35
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
36
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
37
+ end
38
+
39
+ # The version of CQL being tested
40
+ gem 'cql', '~> 1.0'
@@ -1,21 +1,35 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
5
12
 
6
13
  # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
7
14
  if RUBY_VERSION =~ /^1\.8/
8
15
  gem 'cucumber', '< 1.3.0'
9
16
  gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
10
19
  gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
11
20
  elsif RUBY_VERSION =~ /^1\./
12
21
  gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
13
25
  end
14
26
 
15
27
  if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
29
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
17
30
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
18
31
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
19
33
  end
20
34
 
21
35
  gem 'cuke_modeler', '~> 0.0'
@@ -1,21 +1,35 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
5
12
 
6
13
  # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
7
14
  if RUBY_VERSION =~ /^1\.8/
8
15
  gem 'cucumber', '< 1.3.0'
9
16
  gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
10
19
  gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
11
20
  elsif RUBY_VERSION =~ /^1\./
12
21
  gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
13
25
  end
14
26
 
15
27
  if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
29
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
17
30
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
18
31
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
19
33
  end
20
34
 
21
35
  gem 'cuke_modeler', '~> 1.0'
@@ -0,0 +1,35 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
20
+ elsif RUBY_VERSION =~ /^1\./
21
+ gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
25
+ end
26
+
27
+ if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
29
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
30
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
31
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
33
+ end
34
+
35
+ gem 'cuke_modeler', '~> 2.0'
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ # TODO: Go back to using the newer releases once they work on JRuby
6
+ gem 'cucumber', '2.2.0'
7
+
8
+ # The version of CukeModeler being tested
9
+ gem 'cuke_modeler', '~> 3.0'
@@ -1,21 +1,38 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
5
12
 
6
13
  # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
7
14
  if RUBY_VERSION =~ /^1\.8/
8
15
  gem 'cucumber', '< 1.3.0'
9
16
  gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
10
19
  elsif RUBY_VERSION =~ /^1\./
11
20
  gem 'cucumber', '< 2.0.0'
21
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
22
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
23
+ else
24
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
25
+ gem 'cucumber', '2.2.0'
12
26
  end
13
27
 
14
28
  if RUBY_VERSION =~ /^1\./
29
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
30
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
15
31
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
16
32
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
17
33
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
34
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
18
35
  end
19
36
 
20
- gem 'cuke_modeler', '< 2.0'
37
+ # The version of Rake being tested
21
38
  gem 'rake', '~> 10.0'
@@ -1,16 +1,30 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
5
10
 
6
- # Rake 11.x does not work with Ruby 1.8.x
11
+ # The version of Rake being tested
7
12
  gem 'rake', '~> 11.0'
8
13
 
9
14
  if RUBY_VERSION =~ /^1\./
10
15
  gem 'cucumber', '< 2.0.0'
16
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
17
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
11
18
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
12
19
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
20
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
21
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
22
+ gem 'rest-client', '< 2.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
23
+ gem 'simplecov-html', '< 0.11.0' # The 'simplecov-html' gem requires Ruby 2.x on/after this version
13
24
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
25
+ gem 'unf_ext', '< 0.0.7.3' # The 'unf_ext' gem requires Ruby 2.x on/after this version
26
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
27
+ else
28
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
29
+ gem 'cucumber', '2.2.0'
14
30
  end
15
-
16
- gem 'cuke_modeler', '< 2.0'
@@ -1,16 +1,35 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
5
10
 
6
11
  # Rake 12.x does not work with Ruby 1.8.x
7
- gem 'rake', '~> 12.0'
8
-
9
12
  if RUBY_VERSION =~ /^1\./
10
13
  gem 'cucumber', '< 2.0.0'
14
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
15
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
11
17
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
12
18
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
19
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
20
+ gem 'rest-client', '< 2.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
21
+ gem 'simplecov-html', '< 0.11.0' # The 'simplecov-html' gem requires Ruby 2.x on/after this version
13
22
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
23
+ gem 'unf_ext', '< 0.0.7.3' # The 'unf_ext' gem requires Ruby 2.x on/after this version
24
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
25
+ else
26
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
27
+ gem 'cucumber', '2.2.0'
14
28
  end
15
29
 
16
- gem 'cuke_modeler', '< 2.0'
30
+ # The version of Rake being tested
31
+ if RUBY_VERSION =~ /^1\./
32
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
33
+ else
34
+ gem 'rake', '~> 12.0'
35
+ end