cuke_cataloger 1.5.0 → 1.6.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.
@@ -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