cuke_modeler 3.28.0 → 3.29.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: 27bbbc7aca3b65e4ababe89225c8c85a489197f8ede3eb8d0237d22019aa7a49
4
- data.tar.gz: d276b08aa16168974110c7fbec234e8c1a1d52c70861ce3e45a8f4c40ff12999
3
+ metadata.gz: aea4f8791f9d3857d451509770b135933a554da1133d17a91f289aff5d57fe26
4
+ data.tar.gz: 507689f9bcdd0de90443d7a7b58bbfeb65b0e113bcc3cb37c5f06c661976ee63
5
5
  SHA512:
6
- metadata.gz: a4b696bfdad40f083e3443ad677f8c7e3b05269b5158c6620c5f5c1465bc40f361749cdfc31c6233e37e31444ab2335a1489e6ff04ee771bd65c22c85c5449e2
7
- data.tar.gz: 13880b5fd4f52ec7d0d35eabb2d61e24a72dd04b924112c14348d603a2617be3b9b14cf2fbeab7179f5b04fb718cf56e5695cac8294b45e3bd27db8093e75bf0
6
+ metadata.gz: db5af92f1c495c5ca5ed58da44861933ddd4188d9b48ec182b69dd17bbf77dfeea0be93e38dce20fe11a1d4a662362b1d24e7c62ae5e17d84e06b617bddb2fae
7
+ data.tar.gz: 997b95ba55f9c4d45f6bc4e27faafc3b3cf89d6a05364859ff054d1e82e0f303d74cbdb5f0ee55d1a97d2c4905f7ffbe57eaa415ae95ac1395b65af2a1253d2a
data/CHANGELOG.md CHANGED
@@ -8,6 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
 
9
9
  Nothing yet...
10
10
 
11
+ ## [3.29.0] - 2026-04-24
12
+
13
+ - Support added for more versions of the `cucumber-gherkin` gem
14
+ - 39.x
15
+
11
16
 
12
17
  ## [3.28.0] - 2026-01-23
13
18
 
@@ -524,7 +529,8 @@ Nothing yet...
524
529
  - Initial release
525
530
 
526
531
 
527
- [Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.28.0...HEAD
532
+ [Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.29.0...HEAD
533
+ [3.29.0]: https://github.com/enkessler/cuke_modeler/compare/v3.28.0...v3.29.0
528
534
  [3.28.0]: https://github.com/enkessler/cuke_modeler/compare/v3.27.0...v3.28.0
529
535
  [3.27.0]: https://github.com/enkessler/cuke_modeler/compare/v3.26.0...v3.27.0
530
536
  [3.26.0]: https://github.com/enkessler/cuke_modeler/compare/v3.25.0...v3.26.0
data/cuke_modeler.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
 
37
37
  spec.required_ruby_version = '>= 2.3', '< 5.0'
38
38
 
39
- spec.add_runtime_dependency 'cucumber-gherkin', '< 39.0'
39
+ spec.add_runtime_dependency 'cucumber-gherkin', '< 40.0'
40
40
 
41
41
  spec.add_development_dependency 'base64', '< 1.0' # Needed for Gherkin 27, Ruby 4.x only
42
42
  spec.add_development_dependency 'bundler', '< 5.0'
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
44
44
  # Cucumber 4.x is the earliest version to use the 'cucumber-gherkin' gem but some test configurations need to use
45
45
  # Cucumber 2.2.0 so that it uses the 'gherkin3' gem instead. Using any other Cucumber version <4.x aside from 2.2.0
46
46
  # can cause namespace problems between 'cucumber-gherkin' and 'gherkin' (the gem used by <4.x versions of Cucumber).
47
- spec.add_development_dependency 'cucumber', '>= 2.2.0', '< 11.0.0'
47
+ spec.add_development_dependency 'cucumber', '>= 2.2.0', '< 12.0.0'
48
48
  spec.add_development_dependency 'rainbow', '< 4.0.0'
49
49
  spec.add_development_dependency 'rake', '< 14.0.0'
50
50
  spec.add_development_dependency 'rspec', '~> 3.0'
@@ -0,0 +1,13 @@
1
+ require_relative 'gherkin_20_adapter'
2
+
3
+
4
+ module CukeModeler
5
+
6
+ # @api private
7
+ #
8
+ # An adapter that can convert the output of version 39.x of the *cucumber-gherkin* gem into input that is consumable
9
+ # by this gem. Internal helper class.
10
+ class Gherkin39Adapter < Gherkin20Adapter; end
11
+
12
+ private_constant :Gherkin39Adapter
13
+ end
@@ -63,7 +63,7 @@ module CukeModeler
63
63
  #
64
64
  # @return [Array<Scenario>] Child Scenario models
65
65
  def scenarios
66
- @tests.select { |test| test.is_a? Scenario }
66
+ @tests.grep(Scenario)
67
67
  end
68
68
 
69
69
  # Returns the outline models contained in the feature.
@@ -73,7 +73,7 @@ module CukeModeler
73
73
  #
74
74
  # @return [Array<Outline>] Child Outline models
75
75
  def outlines
76
- @tests.select { |test| test.is_a? Outline }
76
+ @tests.grep(Outline)
77
77
  end
78
78
 
79
79
  # TODO: Remove this and other deprecated methods on next major version release
@@ -57,7 +57,7 @@ module CukeModeler
57
57
  #
58
58
  # @return [Array<Scenario>] Child Scenario models
59
59
  def scenarios
60
- @tests.select { |test| test.is_a? Scenario }
60
+ @tests.grep(Scenario)
61
61
  end
62
62
 
63
63
  # Returns the outline models contained in the rule.
@@ -67,7 +67,7 @@ module CukeModeler
67
67
  #
68
68
  # @return [Array<Outline>] Child Outline models
69
69
  def outlines
70
- @tests.select { |test| test.is_a? Outline }
70
+ @tests.grep(Outline)
71
71
  end
72
72
 
73
73
  # Returns the model objects that are children of this model. For a
@@ -9,7 +9,7 @@ require 'gherkin'
9
9
  # an 'adapter' appropriate to the version of the *cucumber-gherkin* gem that has been activated.
10
10
  gherkin_version = Gem.loaded_specs['cucumber-gherkin'].version.version
11
11
  gherkin_major_version = gherkin_version.match(/^(\d+)\./)[1].to_i
12
- supported_gherkin_versions = (9..38)
12
+ supported_gherkin_versions = (9..39)
13
13
 
14
14
  raise("Unknown Gherkin version: '#{gherkin_version}'") unless supported_gherkin_versions.include?(gherkin_major_version)
15
15
 
@@ -86,7 +86,7 @@ module CukeModeler
86
86
  # inside of it, so I'm leaving this here in case it changes again
87
87
  # rubocop:disable Lint/DuplicateMethods
88
88
  case gherkin_major_version
89
- when 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
89
+ when 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
90
90
  # The method to use for parsing Gherkin text
91
91
  def parsing_method(source_text, filename)
92
92
  messages = Gherkin.from_source(filename,
@@ -1,4 +1,4 @@
1
1
  module CukeModeler
2
2
  # The gem version
3
- VERSION = '3.28.0'.freeze
3
+ VERSION = '3.29.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuke_modeler
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.28.0
4
+ version: 3.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "<"
17
17
  - !ruby/object:Gem::Version
18
- version: '39.0'
18
+ version: '40.0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "<"
24
24
  - !ruby/object:Gem::Version
25
- version: '39.0'
25
+ version: '40.0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: base64
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  version: 2.2.0
75
75
  - - "<"
76
76
  - !ruby/object:Gem::Version
77
- version: 11.0.0
77
+ version: 12.0.0
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
@@ -84,7 +84,7 @@ dependencies:
84
84
  version: 2.2.0
85
85
  - - "<"
86
86
  - !ruby/object:Gem::Version
87
- version: 11.0.0
87
+ version: 12.0.0
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: rainbow
90
90
  requirement: !ruby/object:Gem::Requirement
@@ -244,6 +244,7 @@ files:
244
244
  - lib/cuke_modeler/adapters/gherkin_36_adapter.rb
245
245
  - lib/cuke_modeler/adapters/gherkin_37_adapter.rb
246
246
  - lib/cuke_modeler/adapters/gherkin_38_adapter.rb
247
+ - lib/cuke_modeler/adapters/gherkin_39_adapter.rb
247
248
  - lib/cuke_modeler/adapters/gherkin_9_adapter.rb
248
249
  - lib/cuke_modeler/adapters/gherkin_base_adapter.rb
249
250
  - lib/cuke_modeler/containing.rb