cucumber 9.0.2 → 9.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 313150f1f463d99e105864744641cd87c56e55f5d4d7856a437214a8db79dbdd
4
- data.tar.gz: 90cdd041c890ab05108d3951be679f424ae096bc2df09044b26320096074eee3
3
+ metadata.gz: 757154e702f016f75cb37fc68451c18a9a9e742957a197055e127cbe5ebefac6
4
+ data.tar.gz: '010178d0bb40315be3e1c0923c569ec9f5a8d4684da6446b7a396c45da03371c'
5
5
  SHA512:
6
- metadata.gz: 76252cc34ed4bc38ba6e7c0cec30d31b5319d14cdc9745f3e589bad8abf4713c95ec27527095b969dfd983f59ecea57f27ef9d119b68f8c032a19143d332d549
7
- data.tar.gz: bef2260cd88f77daa139256c03e68b1744849667d71a3a71931d6c57a4c546e437e996ef6e7aed157520d5ff7dc1b86d2c1a1041b9dd9747f20fe53fd61dec2a
6
+ metadata.gz: f9c2e02d96f40e5564643f994be4cb5ac6bc5f36849551d5a5f102225a4e62526efabf00d14b961f59a954fdf41345f06c45c4469913bfae93d775c33ac2f5e0
7
+ data.tar.gz: c20336a8e85dc299322e0a5cd92ba39fc7b5091195d7003b26ed014d58a3dfeb2ae8f0be6a88a6f26238589dc15acb40103049d49415431e075a1bcda4f86487
data/README.md CHANGED
@@ -5,9 +5,7 @@
5
5
  [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://vshymanskyy.github.io/StandWithUkraine)
6
6
  [![OpenCollective](https://opencollective.com/cucumber/backers/badge.svg)](https://opencollective.com/cucumber)
7
7
  [![OpenCollective](https://opencollective.com/cucumber/sponsors/badge.svg)](https://opencollective.com/cucumber)
8
- [![pull requests](https://oselvar.com/api/badge?label=pull%20requests&csvUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fcucumber%2Foselvar-github-metrics%2Fmain%2Fdata%2Fcucumber%2Fcucumber-ruby%2FpullRequests.csv)](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby)
9
- [![issues](https://oselvar.com/api/badge?label=issues&csvUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fcucumber%2Foselvar-github-metrics%2Fmain%2Fdata%2Fcucumber%2Fcucumber-ruby%2Fissues.csv)](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby)
10
- [![Test cucumber](https://github.com/cucumber/cucumber-ruby/actions/workflows/cucumber-ruby.yml/badge.svg)](https://github.com/cucumber/cucumber-ruby/actions/workflows/cucumber-ruby.yml)
8
+ [![Test cucumber](https://github.com/cucumber/cucumber-ruby/actions/workflows/test.yaml/badge.svg)](https://github.com/cucumber/cucumber-ruby/actions/workflows/test.yaml)
11
9
  [![Code Climate](https://codeclimate.com/github/cucumber/cucumber-ruby.svg)](https://codeclimate.com/github/cucumber/cucumber-ruby)
12
10
  [![Coverage Status](https://coveralls.io/repos/cucumber/cucumber-ruby/badge.svg?branch=main)](https://coveralls.io/r/cucumber/cucumber-ruby?branch=main)
13
11
 
@@ -56,8 +54,7 @@ Later in this document, bundler is considered being used so all commands are usi
56
54
 
57
55
  ### Ruby on Rails
58
56
 
59
- Using Ruby on Rails? You can use [cucumber-rails](https://github.com/cucumber/cucumber-rails)
60
- to bring Cucumber into your Rails project.
57
+ Using Ruby on Rails? You can use [cucumber-rails](https://github.com/cucumber/cucumber-rails) to bring Cucumber into your Rails project.
61
58
 
62
59
  ## Usage
63
60
 
@@ -133,7 +130,7 @@ To execute a single example, indicates the line of the name of the example:
133
130
 
134
131
  $ bundle exec cucumber features/rule.feature:5
135
132
 
136
- To summarize the results on the standard output, and writte a HTML report on disk:
133
+ To summarize the results on the standard output, and generate a HTML report on disk:
137
134
 
138
135
  $ bundle exec cucumber --format summary --format html --out report.html
139
136
 
@@ -141,8 +138,7 @@ For more command line options
141
138
 
142
139
  $ bundle exec cucumber --help
143
140
 
144
- You can also find documentation on the command line possibilities in
145
- [features/docs/cli](features/docs/cli).
141
+ You can also find documentation on the command line possibilities in [features/docs/cli](features/docs/cli).
146
142
 
147
143
  ## Documentation and support
148
144
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 9.0.2
1
+ 9.1.0
@@ -4,52 +4,11 @@ require 'cucumber/platform'
4
4
  require 'cucumber/gherkin/formatter/ansi_escapes'
5
5
 
6
6
  module Cucumber
7
- module Deprecate
8
- class AnsiString
9
- include Cucumber::Gherkin::Formatter::AnsiEscapes
10
-
11
- def self.failure_message(message)
12
- AnsiString.new.failure_message(message)
13
- end
14
-
15
- def failure_message(message)
16
- failed + message + reset
17
- end
18
- end
19
-
20
- class CliOption
21
- def self.deprecate(stream, option, message, remove_after_version)
22
- return if stream.nil?
23
-
24
- stream.puts(
25
- AnsiString.failure_message(
26
- "\nWARNING: #{option} is deprecated" \
27
- " and will be removed after version #{remove_after_version}.\n#{message}.\n"
28
- )
29
- )
30
- end
31
- end
32
-
33
- module ForUsers
34
- def self.call(message, method, remove_after_version)
35
- $stderr.puts AnsiString.failure_message(
36
- "\nWARNING: ##{method} is deprecated" \
37
- " and will be removed after version #{remove_after_version}. #{message}.\n" \
38
- "(Called from #{caller(3..3).first})"
39
- )
40
- end
41
- end
42
-
43
- module ForDevelopers
44
- def self.call(_message, _method, remove_after_version)
45
- raise "This method is due for removal after version #{remove_after_version}" if remove_after_version <= Cucumber::VERSION
46
- end
47
- end
48
-
49
- STRATEGY = $PROGRAM_NAME =~ /rspec$/ ? ForDevelopers : ForUsers
50
- end
51
-
52
- def self.deprecate(*args)
53
- Deprecate::STRATEGY.call(*args)
7
+ def self.deprecate(message, method, remove_after_version)
8
+ $stderr.puts(
9
+ "\nWARNING: ##{method} is deprecated" \
10
+ " and will be removed after version #{remove_after_version}. #{message}.\n" \
11
+ "(Called from #{caller(3..3).first})"
12
+ )
54
13
  end
55
14
  end
@@ -112,16 +112,24 @@ module Cucumber
112
112
  if child.respond_to?(:rule) && child.rule
113
113
  process_scenario_container(child.rule)
114
114
  elsif child.respond_to?(:scenario) && child.scenario
115
- child.scenario.steps.each do |step|
116
- @lookup_hash[step.location.line] = StepSource.new(:Step, step)
117
- end
115
+ store_scenario_source_steps(child.scenario)
118
116
  elsif !child.background.nil?
119
- child.background.steps.each do |step|
120
- @lookup_hash[step.location.line] = StepSource.new(:Step, step)
121
- end
117
+ store_background_source_steps(child.background)
122
118
  end
123
119
  end
124
120
  end
121
+
122
+ def store_scenario_source_steps(scenario)
123
+ scenario.steps.each do |step|
124
+ @lookup_hash[step.location.line] = StepSource.new(:Step, step)
125
+ end
126
+ end
127
+
128
+ def store_background_source_steps(background)
129
+ background.steps.each do |step|
130
+ @lookup_hash[step.location.line] = StepSource.new(:Step, step)
131
+ end
132
+ end
125
133
  end
126
134
 
127
135
  KeywordSearchNode = Struct.new(:keyword, :previous_node)
@@ -169,12 +169,17 @@ module Cucumber
169
169
  end
170
170
  end
171
171
 
172
- def attach(src, media_type)
172
+ def attach(src, media_type, filename)
173
173
  return unless media_type == 'text/x.cucumber.log+plain'
174
174
  return unless @io
175
175
 
176
176
  @io.puts
177
- @io.puts(format_string(src, :tag))
177
+ if filename
178
+ @io.puts("#{filename}: #{format_string(src, :tag)}")
179
+ else
180
+ @io.puts(format_string(src, :tag))
181
+ end
182
+
178
183
  @io.flush
179
184
  end
180
185
 
@@ -85,7 +85,7 @@ module Cucumber
85
85
  @io.write(JSON.pretty_generate(@feature_hashes))
86
86
  end
87
87
 
88
- def attach(src, mime_type)
88
+ def attach(src, mime_type, _filename)
89
89
  if mime_type == 'text/x.cucumber.log+plain'
90
90
  test_step_output << src
91
91
  return
@@ -42,11 +42,12 @@ module Cucumber
42
42
  raise 'To be implemented'
43
43
  end
44
44
 
45
- def attach(src, media_type)
45
+ def attach(src, media_type, filename)
46
46
  attachment_data = {
47
47
  test_step_id: @current_test_step_id,
48
48
  test_case_started_id: @current_test_case_started_id,
49
- media_type: media_type
49
+ media_type: media_type,
50
+ file_name: filename
50
51
  }
51
52
 
52
53
  if media_type.start_with?('text/')
@@ -192,10 +193,13 @@ module Cucumber
192
193
 
193
194
  result_message = result.to_message
194
195
  if result.failed? || result.pending?
196
+ message_element = result.failed? ? result.exception : result
197
+
195
198
  result_message = Cucumber::Messages::TestStepResult.new(
196
199
  status: result_message.status,
197
200
  duration: result_message.duration,
198
- message: create_error_message(result)
201
+ message: create_error_message(message_element),
202
+ exception: create_exception_object(result, message_element)
199
203
  )
200
204
  end
201
205
 
@@ -211,12 +215,17 @@ module Cucumber
211
215
  output_envelope(message)
212
216
  end
213
217
 
214
- def create_error_message(result)
215
- message_element = result.failed? ? result.exception : result
218
+ def create_error_message(message_element)
216
219
  message = "#{message_element.message} (#{message_element.class})"
217
220
  ([message] + message_element.backtrace).join("\n")
218
221
  end
219
222
 
223
+ def create_exception_object(result, message_element)
224
+ return unless result.failed?
225
+
226
+ Cucumber::Messages::Exception.from_h({ type: message_element.class, message: message_element.message })
227
+ end
228
+
220
229
  def on_test_case_finished(event)
221
230
  message = Cucumber::Messages::Envelope.new(
222
231
  test_case_finished: Cucumber::Messages::TestCaseFinished.new(
@@ -140,10 +140,14 @@ module Cucumber
140
140
  print_summary
141
141
  end
142
142
 
143
- def attach(src, media_type)
143
+ def attach(src, media_type, filename)
144
144
  return unless media_type == 'text/x.cucumber.log+plain'
145
145
 
146
- @test_step_output.push src
146
+ if filename
147
+ @test_step_output.push("#{filename}: #{src}")
148
+ else
149
+ @test_step_output.push(src)
150
+ end
147
151
  end
148
152
 
149
153
  private
@@ -7,7 +7,7 @@ require 'mini_mime'
7
7
 
8
8
  module Cucumber
9
9
  module Glue
10
- # Defines the basic API methods availlable in all Cucumber step definitions.
10
+ # Defines the basic API methods available in all Cucumber step definitions.
11
11
  #
12
12
  # You can, and probably should, extend this API with your own methods that
13
13
  # make sense in your domain. For more on that, see {Cucumber::Glue::Dsl#World}
@@ -26,7 +26,7 @@ module Cucumber
26
26
  # @example Passing a multiline string
27
27
  # step "the email should contain:", "Dear sir,\nYou've won a prize!\n"
28
28
  # @param [String] name The name of the step
29
- # @param [String, Cucumber::Test::DocString, Cucumber::Ast::Table] multiline_argument
29
+ # @param [String, Cucumber::Test::DocString, Cucumber::Ast::Table] raw_multiline_arg
30
30
  def step(name, raw_multiline_arg = nil)
31
31
  super
32
32
  end
@@ -84,17 +84,19 @@ module Cucumber
84
84
 
85
85
  # Attach a file to the output
86
86
  # @param file [string|io] the file to attach.
87
- # It can be a string containing the file content itself,
88
- # the file path, or an IO ready to be read.
89
- # @param media_type [string] the media type. If file is a valid path,
90
- # media_type can be ommitted, it will then be inferred from the file name.
91
- def attach(file, media_type = nil)
87
+ # It can be a string containing the file content itself, the file path, or an IO ready to be read.
88
+ # @param media_type [string] the media type.
89
+ # If file is a valid path, media_type can be omitted, it will then be inferred from the file name.
90
+ # @param filename [string] the name of the file you wish to specify.
91
+ # This is only needed in situations where you want to rename a PDF download e.t.c. - In most situations
92
+ # you should not need to pass a filename
93
+ def attach(file, media_type = nil, filename = nil)
92
94
  return super unless File.file?(file)
93
95
 
94
96
  content = File.read(file, mode: 'rb')
95
97
  media_type = MiniMime.lookup_by_filename(file)&.content_type if media_type.nil?
96
98
 
97
- super(content, media_type.to_s)
99
+ super(content, media_type.to_s, filename)
98
100
  rescue StandardError
99
101
  super
100
102
  end
@@ -103,12 +105,9 @@ module Cucumber
103
105
  def pending(message = 'TODO')
104
106
  raise Pending, message unless block_given?
105
107
 
106
- begin
107
- yield
108
- rescue Exception # rubocop:disable Lint/RescueException
109
- raise Pending, message
110
- end
111
- raise Pending, "Expected pending '#{message}' to fail. No Error was raised. No longer pending?"
108
+ yield
109
+ rescue Exception
110
+ raise Pending, message
112
111
  end
113
112
 
114
113
  # Skips this step and the remaining steps in the scenario
@@ -126,8 +125,8 @@ module Cucumber
126
125
  inspect
127
126
  end
128
127
 
129
- # Dynamially generate the API module, closuring the dependencies
130
- def self.for(runtime, language) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
128
+ # Dynamically generate the API module, closuring the dependencies
129
+ def self.for(runtime, language)
131
130
  Module.new do
132
131
  def self.extended(object)
133
132
  # wrap the dynamically generated module so that we can document the methods
@@ -156,8 +155,8 @@ module Cucumber
156
155
  runtime.ask(question, timeout_seconds)
157
156
  end
158
157
 
159
- define_method(:attach) do |file, media_type|
160
- runtime.attach(file, media_type)
158
+ define_method(:attach) do |file, media_type, filename|
159
+ runtime.attach(file, media_type, filename)
161
160
  end
162
161
 
163
162
  # Prints the list of modules that are included in the World
@@ -172,14 +171,12 @@ module Cucumber
172
171
 
173
172
  private
174
173
 
175
- # @private
176
174
  def add_world_modules!(modules)
177
175
  modules.each do |world_module|
178
176
  extend(world_module)
179
177
  end
180
178
  end
181
179
 
182
- # @private
183
180
  def add_namespaced_modules!(modules)
184
181
  @__namespaced_modules = modules
185
182
  modules.each do |namespace, world_modules|
@@ -199,7 +196,6 @@ module Cucumber
199
196
  end
200
197
  end
201
198
 
202
- # @private
203
199
  def stringify_namespaced_modules
204
200
  return '' if @__namespaced_modules.nil?
205
201
 
@@ -208,7 +204,6 @@ module Cucumber
208
204
  end
209
205
  end
210
206
 
211
- # @private
212
207
  AnsiEscapes = Cucumber::Gherkin::Formatter::AnsiEscapes
213
208
  end
214
209
  end
@@ -198,16 +198,19 @@ module Cucumber
198
198
  private
199
199
 
200
200
  def parameter_type_envelope(parameter_type)
201
- # TODO: should me moved to Cucumber::Expression::ParameterType#to_envelope ?
201
+ # TODO: should this be moved to Cucumber::Expression::ParameterType#to_envelope ??
202
202
  # Note: that would mean that cucumber-expression would depend on cucumber-messages
203
-
204
203
  Cucumber::Messages::Envelope.new(
205
204
  parameter_type: Cucumber::Messages::ParameterType.new(
206
205
  id: @configuration.id_generator.new_id,
207
206
  name: parameter_type.name,
208
207
  regular_expressions: parameter_type.regexps.map(&:to_s),
209
- prefer_for_regular_expression_match: parameter_type.prefer_for_regexp_match?,
210
- use_for_snippets: parameter_type.use_for_snippets?
208
+ prefer_for_regular_expression_match: parameter_type.prefer_for_regexp_match,
209
+ use_for_snippets: parameter_type.use_for_snippets,
210
+ source_reference: Cucumber::Messages::SourceReference.new(
211
+ uri: parameter_type.transformer.source_location[0],
212
+ location: Cucumber::Messages::Location.new(line: parameter_type.transformer.source_location[1])
213
+ )
211
214
  )
212
215
  )
213
216
  end
@@ -2,11 +2,7 @@
2
2
 
3
3
  require 'cucumber/platform'
4
4
  require 'cucumber/gherkin/formatter/ansi_escapes'
5
- begin
6
- # Support Rake > 0.8.7
7
- require 'rake/dsl_definition'
8
- rescue LoadError
9
- end
5
+ require 'rake/dsl_definition'
10
6
 
11
7
  module Cucumber
12
8
  module Rake
@@ -7,8 +7,7 @@ module Cucumber
7
7
  class Runtime
8
8
  # This is what a programming language will consider to be a runtime.
9
9
  #
10
- # It's a thin class that directs the handul of methods needed by the
11
- # programming languages to the right place.
10
+ # It's a thin class that directs the handful of methods needed by the programming languages to the right place
12
11
  class ForProgrammingLanguages
13
12
  extend Forwardable
14
13
 
@@ -5,14 +5,14 @@ require 'cucumber/ci_environment'
5
5
 
6
6
  module Cucumber
7
7
  class Runtime
8
- # Builder to instanciate a Cucumber::Messages::Meta message filled-in with
8
+ # Builder to instantiate a Cucumber::Messages::Meta message filled-in with
9
9
  # the runtime meta-data:
10
10
  # - protocol version: the version of the Cucumber::Messages protocol
11
11
  # - implementation: the name and version of the implementation (e.g. cucumber-ruby 8.0.0)
12
12
  # - runtime: the name and version of the runtime (e.g. ruby 3.0.1)
13
13
  # - os: the name and version of the operating system (e.g. linux 3.13.0-45-generic)
14
14
  # - cpu: the name of the CPU (e.g. x86_64)
15
- # - ci: informtion about the CI environment if any, including:
15
+ # - ci: information about the CI environment if any, including:
16
16
  # - name: the name of the CI environment (e.g. Jenkins)
17
17
  # - url: the URL of the CI environment (e.g. https://ci.example.com)
18
18
  # - build_number: the build number of the CI environment (e.g. 123)
@@ -41,8 +41,8 @@ module Cucumber
41
41
  # be a path to a file, or if it's an image it may also be a Base64 encoded image.
42
42
  # The embedded data may or may not be ignored, depending on what kind of formatter(s) are active.
43
43
  #
44
- def attach(src, media_type)
45
- @visitor.attach(src, media_type)
44
+ def attach(src, media_type, filename)
45
+ @visitor.attach(src, media_type, filename)
46
46
  end
47
47
 
48
48
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.2
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-09-11 00:00:00.000000000 Z
13
+ date: 2023-11-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
@@ -58,40 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '11.1'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 11.1.0
61
+ version: '12.0'
65
62
  type: :runtime
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
68
65
  requirements:
69
66
  - - "~>"
70
67
  - !ruby/object:Gem::Version
71
- version: '11.1'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 11.1.0
68
+ version: '12.0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: cucumber-cucumber-expressions
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '16.1'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 16.1.2
75
+ version: '17.0'
85
76
  type: :runtime
86
77
  prerelease: false
87
78
  version_requirements: !ruby/object:Gem::Requirement
88
79
  requirements:
89
80
  - - "~>"
90
81
  - !ruby/object:Gem::Version
91
- version: '16.1'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 16.1.2
82
+ version: '17.0'
95
83
  - !ruby/object:Gem::Dependency
96
84
  name: cucumber-gherkin
97
85
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +89,7 @@ dependencies:
101
89
  version: '24'
102
90
  - - "<"
103
91
  - !ruby/object:Gem::Version
104
- version: 26.2.1
92
+ version: '27'
105
93
  type: :runtime
106
94
  prerelease: false
107
95
  version_requirements: !ruby/object:Gem::Requirement
@@ -111,7 +99,7 @@ dependencies:
111
99
  version: '24'
112
100
  - - "<"
113
101
  - !ruby/object:Gem::Version
114
- version: 26.2.1
102
+ version: '27'
115
103
  - !ruby/object:Gem::Dependency
116
104
  name: cucumber-html-formatter
117
105
  requirement: !ruby/object:Gem::Requirement
@@ -238,14 +226,14 @@ dependencies:
238
226
  requirements:
239
227
  - - "~>"
240
228
  - !ruby/object:Gem::Version
241
- version: '10.0'
229
+ version: '14.0'
242
230
  type: :development
243
231
  prerelease: false
244
232
  version_requirements: !ruby/object:Gem::Requirement
245
233
  requirements:
246
234
  - - "~>"
247
235
  - !ruby/object:Gem::Version
248
- version: '10.0'
236
+ version: '14.0'
249
237
  - !ruby/object:Gem::Dependency
250
238
  name: nokogiri
251
239
  requirement: !ruby/object:Gem::Requirement
@@ -266,26 +254,6 @@ dependencies:
266
254
  - - ">="
267
255
  - !ruby/object:Gem::Version
268
256
  version: 1.13.6
269
- - !ruby/object:Gem::Dependency
270
- name: pry
271
- requirement: !ruby/object:Gem::Requirement
272
- requirements:
273
- - - "~>"
274
- - !ruby/object:Gem::Version
275
- version: '0.14'
276
- - - ">="
277
- - !ruby/object:Gem::Version
278
- version: 0.14.1
279
- type: :development
280
- prerelease: false
281
- version_requirements: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: '0.14'
286
- - - ">="
287
- - !ruby/object:Gem::Version
288
- version: 0.14.1
289
257
  - !ruby/object:Gem::Dependency
290
258
  name: rake
291
259
  requirement: !ruby/object:Gem::Requirement
@@ -332,48 +300,33 @@ dependencies:
332
300
  requirements:
333
301
  - - "~>"
334
302
  - !ruby/object:Gem::Version
335
- version: '1.56'
336
- - - ">="
337
- - !ruby/object:Gem::Version
338
- version: 1.56.2
303
+ version: 1.56.4
339
304
  type: :development
340
305
  prerelease: false
341
306
  version_requirements: !ruby/object:Gem::Requirement
342
307
  requirements:
343
308
  - - "~>"
344
309
  - !ruby/object:Gem::Version
345
- version: '1.56'
346
- - - ">="
347
- - !ruby/object:Gem::Version
348
- version: 1.56.2
310
+ version: 1.56.4
349
311
  - !ruby/object:Gem::Dependency
350
312
  name: rubocop-capybara
351
313
  requirement: !ruby/object:Gem::Requirement
352
314
  requirements:
353
315
  - - "~>"
354
316
  - !ruby/object:Gem::Version
355
- version: '2.18'
356
- - - ">="
357
- - !ruby/object:Gem::Version
358
- version: 2.18.0
317
+ version: 2.19.0
359
318
  type: :development
360
319
  prerelease: false
361
320
  version_requirements: !ruby/object:Gem::Requirement
362
321
  requirements:
363
322
  - - "~>"
364
323
  - !ruby/object:Gem::Version
365
- version: '2.18'
366
- - - ">="
367
- - !ruby/object:Gem::Version
368
- version: 2.18.0
324
+ version: 2.19.0
369
325
  - !ruby/object:Gem::Dependency
370
326
  name: rubocop-packaging
371
327
  requirement: !ruby/object:Gem::Requirement
372
328
  requirements:
373
329
  - - "~>"
374
- - !ruby/object:Gem::Version
375
- version: '0.5'
376
- - - ">="
377
330
  - !ruby/object:Gem::Version
378
331
  version: 0.5.2
379
332
  type: :development
@@ -381,9 +334,6 @@ dependencies:
381
334
  version_requirements: !ruby/object:Gem::Requirement
382
335
  requirements:
383
336
  - - "~>"
384
- - !ruby/object:Gem::Version
385
- version: '0.5'
386
- - - ">="
387
337
  - !ruby/object:Gem::Version
388
338
  version: 0.5.2
389
339
  - !ruby/object:Gem::Dependency
@@ -391,9 +341,6 @@ dependencies:
391
341
  requirement: !ruby/object:Gem::Requirement
392
342
  requirements:
393
343
  - - "~>"
394
- - !ruby/object:Gem::Version
395
- version: '0.6'
396
- - - ">="
397
344
  - !ruby/object:Gem::Version
398
345
  version: 0.6.0
399
346
  type: :development
@@ -401,9 +348,6 @@ dependencies:
401
348
  version_requirements: !ruby/object:Gem::Requirement
402
349
  requirements:
403
350
  - - "~>"
404
- - !ruby/object:Gem::Version
405
- version: '0.6'
406
- - - ">="
407
351
  - !ruby/object:Gem::Version
408
352
  version: 0.6.0
409
353
  - !ruby/object:Gem::Dependency
@@ -412,28 +356,19 @@ dependencies:
412
356
  requirements:
413
357
  - - "~>"
414
358
  - !ruby/object:Gem::Version
415
- version: '2.23'
416
- - - ">="
417
- - !ruby/object:Gem::Version
418
- version: 2.23.2
359
+ version: 2.24.1
419
360
  type: :development
420
361
  prerelease: false
421
362
  version_requirements: !ruby/object:Gem::Requirement
422
363
  requirements:
423
364
  - - "~>"
424
365
  - !ruby/object:Gem::Version
425
- version: '2.23'
426
- - - ">="
427
- - !ruby/object:Gem::Version
428
- version: 2.23.2
366
+ version: 2.24.1
429
367
  - !ruby/object:Gem::Dependency
430
368
  name: simplecov
431
369
  requirement: !ruby/object:Gem::Requirement
432
370
  requirements:
433
371
  - - "~>"
434
- - !ruby/object:Gem::Version
435
- version: '0.22'
436
- - - ">="
437
372
  - !ruby/object:Gem::Version
438
373
  version: 0.22.0
439
374
  type: :development
@@ -441,9 +376,6 @@ dependencies:
441
376
  version_requirements: !ruby/object:Gem::Requirement
442
377
  requirements:
443
378
  - - "~>"
444
- - !ruby/object:Gem::Version
445
- version: '0.22'
446
- - - ">="
447
379
  - !ruby/object:Gem::Version
448
380
  version: 0.22.0
449
381
  - !ruby/object:Gem::Dependency
@@ -735,5 +667,5 @@ requirements: []
735
667
  rubygems_version: 3.3.5
736
668
  signing_key:
737
669
  specification_version: 4
738
- summary: cucumber-9.0.2
670
+ summary: cucumber-9.1.0
739
671
  test_files: []