cuke_slicer 3.0.0 → 3.1.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: fa79b66cbc3e85e4d8a532123fe92ed2431da5435fc28617c171b891ba850b2e
4
- data.tar.gz: 58106b978a4a83ac08e4f16b1c99f3c3c230170bb4273d2d6e634cefa2a40b8d
3
+ metadata.gz: 3533aabd8f79ca8ddadc2fb8d890db64998218cfcec90a465c66514cb81ebe9d
4
+ data.tar.gz: 70e08f4f6a091284eb0d02e7b81e731117cc9a5cd254c83a4bfda7117c4da108
5
5
  SHA512:
6
- metadata.gz: 3bd5f29074a87dcc620347623feaca14023b1399ea56dc71bdebc1067e2b063a4a705ed3711b4c3f881acf33ce793a51eb7ef72902ce48d25a39a30097da2fcd
7
- data.tar.gz: b69b1759f3aeab9c16bc9521280e6e12b9757ccfcc6960b60b46dec88352a51b2b14e729265f05f11597e14513dd1d1c3a1b56b42e93d978f085b5858f1b37d9
6
+ metadata.gz: af3d01cdb76f2b0b840382606797af34828b16190c8e8c78156e4524c8d33683d33ebd0ff4be39fe697ac8f0024f14af11e7a60747b654a9590ebdb3f9e7e87d
7
+ data.tar.gz: e2a7a73e85c091b488afcb271e4edd0d34fa551518a14dd421694650f2ca05d9ecdd96c73ebfee1da3deb68472d1eb547de1ea2404a4effcd98f51f0d07ef8e8
data/CHANGELOG.md CHANGED
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
  Nothing yet...
10
10
 
11
11
 
12
+ ## [3.1.0] - 2026-01-16
13
+
14
+ ### Added
15
+ - Ruby 4.x is now supported
16
+
17
+
12
18
  ## [3.0.0] - 2024-03-17
13
19
 
14
20
  ### Added
@@ -19,7 +25,7 @@ Nothing yet...
19
25
  - CukeModeler `0.x`, CukeModeler `1.x`, and CukeModeler `2.x`. Slicing features with `Rule` elements requires at
20
26
  least CukeModeler `3.x`, because that is the major version that first modeled rules.
21
27
  - Ruby `1.x`. Testing against older Rubies in the current CI ecosystem has become too burdensome and Ruby `1.x` is
22
- long past end-of-life. Additionally, CukeModeler `3.x` requires at least Ruby `2.x`.
28
+ long past end-of-life. Additionally, CukeModeler `3.x` requires at least Ruby `2.3`.
23
29
 
24
30
  ### Changed
25
31
  - No longer including every file in the Git repository as part of the gem. Only the files needed for using the
@@ -74,7 +80,8 @@ Nothing yet...
74
80
 
75
81
  - Initial release
76
82
 
77
- [Unreleased]: https://github.com/enkessler/cuke_slicer/compare/v3.0.0...HEAD
83
+ [Unreleased]: https://github.com/enkessler/cuke_slicer/compare/v3.1.0...HEAD
84
+ [3.1.0]: https://github.com/enkessler/cuke_slicer/compare/v3.0.0...v3.1.0
78
85
  [3.0.0]: https://github.com/enkessler/cuke_slicer/compare/v2.2.0...v3.0.0
79
86
  [2.2.0]: https://github.com/enkessler/cuke_slicer/compare/v2.1.0...v2.2.0
80
87
  [2.1.0]: https://github.com/enkessler/cuke_slicer/compare/v2.0.3...v2.1.0
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Copyright (c) 2015-2019 Grange Insurance
2
- Copyright (c) 2020-2024 Eric Kessler
2
+ Copyright (c) 2020-2026 Eric Kessler
3
3
 
4
4
  MIT License
5
5
 
data/cuke_slicer.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'cuke_slicer/version'
4
4
 
@@ -15,11 +15,11 @@ Gem::Specification.new do |spec|
15
15
  spec.license = 'MIT'
16
16
 
17
17
  spec.metadata = {
18
- 'bug_tracker_uri' => 'https://github.com/enkessler/cuke_slicer/issues',
19
- 'changelog_uri' => 'https://github.com/enkessler/cuke_slicer/blob/master/CHANGELOG.md',
20
- 'documentation_uri' => 'https://www.rubydoc.info/gems/cuke_slicer',
21
- 'homepage_uri' => 'https://github.com/enkessler/cuke_slicer',
22
- 'source_code_uri' => 'https://github.com/enkessler/cuke_slicer'
18
+ 'bug_tracker_uri' => 'https://github.com/enkessler/cuke_slicer/issues',
19
+ 'changelog_uri' => 'https://github.com/enkessler/cuke_slicer/blob/master/CHANGELOG.md',
20
+ 'documentation_uri' => 'https://www.rubydoc.info/gems/cuke_slicer',
21
+ 'source_code_uri' => 'https://github.com/enkessler/cuke_slicer',
22
+ 'rubygems_mfa_required' => 'true'
23
23
  }
24
24
 
25
25
  # Specify which files should be added to the gem when it is released.
@@ -31,19 +31,20 @@ Gem::Specification.new do |spec|
31
31
  end
32
32
  spec.require_paths = ['lib']
33
33
 
34
- spec.required_ruby_version = '>= 2.3', '< 4.0'
34
+ spec.required_ruby_version = '>= 2.3', '< 5.0'
35
35
 
36
36
  spec.add_runtime_dependency 'cuke_modeler', '>= 3.2', '< 4.0'
37
37
 
38
- spec.add_development_dependency 'childprocess', '< 5.0'
38
+ spec.add_development_dependency 'bundler', '< 5.0'
39
+ spec.add_development_dependency 'childprocess', '< 6.0'
40
+ spec.add_development_dependency 'cucumber', '< 11.0.0'
41
+ # TODO: Is FFI still needed?
39
42
  spec.add_development_dependency 'ffi', '< 2.0' # This is an invisible dependency for the `childprocess` gem on Windows
40
- spec.add_development_dependency 'bundler', '< 3.0'
41
- spec.add_development_dependency 'rake', '< 13.0.0'
43
+ spec.add_development_dependency 'rainbow', '< 4.0.0'
44
+ spec.add_development_dependency 'rake', '< 14.0.0'
42
45
  spec.add_development_dependency 'rspec', '~> 3.0'
43
- spec.add_development_dependency 'cucumber', '< 5.0.0'
46
+ spec.add_development_dependency 'rubocop', '<2'
44
47
  spec.add_development_dependency 'simplecov', '< 1.0.0'
45
48
  spec.add_development_dependency 'simplecov-lcov', '< 1.0'
46
- spec.add_development_dependency 'rainbow', '< 4.0.0'
47
- spec.add_development_dependency 'rubocop', '<= 0.50.0' # RuboCop can not lint against Ruby 2.0 after this version
48
49
  spec.add_development_dependency 'yard', '< 1.0'
49
50
  end
@@ -19,6 +19,7 @@ module CukeSlicer
19
19
  def validate
20
20
  filter_values.each do |val|
21
21
  raise(ArgumentError, "Filter '#{val}' must be a String, Regexp, or Array. Got #{val.class}") unless str_regex_arr?(val) # rubocop:disable Metrics/LineLength
22
+
22
23
  NestedTagCollection.new(val).validate if val.is_a?(Array)
23
24
  end
24
25
  end
@@ -1,5 +1,4 @@
1
1
  # TODO: get rid of this module
2
- # rubocop:disable Metrics/AbcSize
3
2
 
4
3
 
5
4
  # Internal helper module that is not part of the public API. Subject to change at any time.
@@ -47,4 +46,3 @@ module CukeSlicer
47
46
 
48
47
  end
49
48
  end
50
- # rubocop:enable Metrics/AbcSize
@@ -11,9 +11,7 @@ module CukeSlicer
11
11
  def apply_custom_filter(elements, &block)
12
12
  return unless block
13
13
 
14
- elements.reject! do |element|
15
- yield(element)
16
- end
14
+ elements.reject!(&block)
17
15
  end
18
16
 
19
17
  # private
@@ -3,7 +3,7 @@ require 'cuke_slicer/extractors/file_extractor'
3
3
  require 'cuke_slicer/filters/filter_set'
4
4
 
5
5
  # TODO: refactor all of this
6
- # rubocop:disable Metrics/AbcSize, Style/OptionalArguments
6
+ # rubocop:disable Style/OptionalArguments
7
7
  module CukeSlicer
8
8
 
9
9
  # The object responsible for slicing up a Cucumber test suite into discrete test cases.
@@ -34,6 +34,7 @@ module CukeSlicer
34
34
  target = File.directory?(target) ? CukeModeler::Directory.new(target) : CukeModeler::FeatureFile.new(target)
35
35
  rescue => e
36
36
  raise e unless e.message =~ /lexing|parsing/i
37
+
37
38
  raise(ArgumentError, "A syntax or lexing problem was encountered while trying to parse #{target}")
38
39
  end
39
40
 
@@ -71,4 +72,4 @@ module CukeSlicer
71
72
 
72
73
  end
73
74
  end
74
- # rubocop:enable Metrics/AbcSize, Style/OptionalArguments
75
+ # rubocop:enable Style/OptionalArguments
@@ -1,4 +1,4 @@
1
1
  module CukeSlicer
2
2
  # The current version for the gem.
3
- VERSION = '3.0.0'.freeze
3
+ VERSION = '3.1.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuke_slicer
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-17 00:00:00.000000000 Z
11
+ date: 2026-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cuke_modeler
@@ -31,7 +31,7 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: '4.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: childprocess
34
+ name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "<"
@@ -45,131 +45,131 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '5.0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: ffi
48
+ name: childprocess
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "<"
52
52
  - !ruby/object:Gem::Version
53
- version: '2.0'
53
+ version: '6.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: '2.0'
60
+ version: '6.0'
61
61
  - !ruby/object:Gem::Dependency
62
- name: bundler
62
+ name: cucumber
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
- version: '3.0'
67
+ version: 11.0.0
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.0'
74
+ version: 11.0.0
75
75
  - !ruby/object:Gem::Dependency
76
- name: rake
76
+ name: ffi
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "<"
80
80
  - !ruby/object:Gem::Version
81
- version: 13.0.0
81
+ version: '2.0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "<"
87
87
  - !ruby/object:Gem::Version
88
- version: 13.0.0
88
+ version: '2.0'
89
89
  - !ruby/object:Gem::Dependency
90
- name: rspec
90
+ name: rainbow
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - "<"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.0'
95
+ version: 4.0.0
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - "<"
101
101
  - !ruby/object:Gem::Version
102
- version: '3.0'
102
+ version: 4.0.0
103
103
  - !ruby/object:Gem::Dependency
104
- name: cucumber
104
+ name: rake
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "<"
108
108
  - !ruby/object:Gem::Version
109
- version: 5.0.0
109
+ version: 14.0.0
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "<"
115
115
  - !ruby/object:Gem::Version
116
- version: 5.0.0
116
+ version: 14.0.0
117
117
  - !ruby/object:Gem::Dependency
118
- name: simplecov
118
+ name: rspec
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "<"
121
+ - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: 1.0.0
123
+ version: '3.0'
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "<"
128
+ - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: 1.0.0
130
+ version: '3.0'
131
131
  - !ruby/object:Gem::Dependency
132
- name: simplecov-lcov
132
+ name: rubocop
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "<"
136
136
  - !ruby/object:Gem::Version
137
- version: '1.0'
137
+ version: '2'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "<"
143
143
  - !ruby/object:Gem::Version
144
- version: '1.0'
144
+ version: '2'
145
145
  - !ruby/object:Gem::Dependency
146
- name: rainbow
146
+ name: simplecov
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "<"
150
150
  - !ruby/object:Gem::Version
151
- version: 4.0.0
151
+ version: 1.0.0
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "<"
157
157
  - !ruby/object:Gem::Version
158
- version: 4.0.0
158
+ version: 1.0.0
159
159
  - !ruby/object:Gem::Dependency
160
- name: rubocop
160
+ name: simplecov-lcov
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - "<="
163
+ - - "<"
164
164
  - !ruby/object:Gem::Version
165
- version: 0.50.0
165
+ version: '1.0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - "<="
170
+ - - "<"
171
171
  - !ruby/object:Gem::Version
172
- version: 0.50.0
172
+ version: '1.0'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: yard
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -221,8 +221,8 @@ metadata:
221
221
  bug_tracker_uri: https://github.com/enkessler/cuke_slicer/issues
222
222
  changelog_uri: https://github.com/enkessler/cuke_slicer/blob/master/CHANGELOG.md
223
223
  documentation_uri: https://www.rubydoc.info/gems/cuke_slicer
224
- homepage_uri: https://github.com/enkessler/cuke_slicer
225
224
  source_code_uri: https://github.com/enkessler/cuke_slicer
225
+ rubygems_mfa_required: 'true'
226
226
  post_install_message:
227
227
  rdoc_options: []
228
228
  require_paths:
@@ -234,14 +234,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
234
  version: '2.3'
235
235
  - - "<"
236
236
  - !ruby/object:Gem::Version
237
- version: '4.0'
237
+ version: '5.0'
238
238
  required_rubygems_version: !ruby/object:Gem::Requirement
239
239
  requirements:
240
240
  - - ">="
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0'
243
243
  requirements: []
244
- rubygems_version: 3.2.32
244
+ rubygems_version: 3.5.22
245
245
  signing_key:
246
246
  specification_version: 4
247
247
  summary: A gem for extracting test cases from a Cucumber test suite.