rspec-rails 6.1.5 → 7.0.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: 794b82d1aea01113c12d4d6d6baab45e129466eb3da90a6f237f97a600489c44
4
- data.tar.gz: 492866fad93a1945fdb95b6ed10b0ec1739575d8769f83845f7572b450042b2f
3
+ metadata.gz: e12619053ed39f2f0fed4bc0aed2b2e552e400315663632d97cf9a82e2eaa5d3
4
+ data.tar.gz: 7bde5b94d9f990a0d9d08143529ce3e25b9df1df2cf62c216515c0cc6e96cd4c
5
5
  SHA512:
6
- metadata.gz: da28fe40ba3272d1a91e9c4be4d92a3aa88fc041ce69f904bc4e121b82e21affc6946a29df87be201bdda938a44f2057b3ac8c79dcfa20ada543bd604cbbeea7
7
- data.tar.gz: 69ac337cdc6b192929d1812e69ab148154484500bf655a47bd8575d664ace8101b2ec9b8d054133f1117371099402f4e07f4bc02066666a57148a0f658a67ad6
6
+ metadata.gz: fa5533f32e4ffaf30b13d83677aff9170bf57c42a2c6ec9a591de3f422f73f719a6b575fb14efe8e54f7b8fbc389aa7c7e0f39710017dc8b02834f8dbb6b0aa3
7
+ data.tar.gz: '094c02d867dba7258ea54da266403929508f2601c0ba1e8a8c579e01c6a2b200aaa688b5a8fed58145c2bf6cd53ed4799fecba36dc9acdb23e06d75eea5b2323'
checksums.yaml.gz.sig CHANGED
Binary file
data/Changelog.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ### Development
2
- [Full Changelog](https://github.com/rspec/rspec-rails/compare/v6.1.5...6-1-maintenance)
2
+ [Full Changelog](https://github.com/rspec/rspec-rails/compare/v7.0.0...7-0-maintenance)
3
+
4
+ ### 7.0.0 / 2024-09-02
5
+ [Full Changelog](https://github.com/rspec/rspec-rails/compare/v6.1.5...v7.0.0)
6
+
7
+ Enhancements:
8
+
9
+ * Change default driver for system specs on Rails 7.2 to match its default.
10
+ (Steve Polito, #2746)
11
+ * Verify ActiveJob arguments by comparing to the method signature. (Oli Peate, #2745)
12
+ * Add suggestion to rails_helper.rb to skip when not in test most. (Glauco Custódio, #2751)
13
+ * Add `at_priority` qualifier to `have_enqueued_job` set of matchers. (mbajur, #2759)
14
+ * Add spec directories to `rails stats` on Rails main / 8.0.0. (Petrik de Heus, #2781)
3
15
 
4
16
  ### 6.1.5 / 2024-09-02
5
17
  [Full Changelog](https://github.com/rspec/rspec-rails/compare/v6.1.4...v6.1.5)
data/README.md CHANGED
@@ -9,7 +9,8 @@ detailed explanations of how the application is supposed to behave,
9
9
  expressed in plain English.
10
10
 
11
11
  According to [RSpec Rails new versioning strategy][] use:
12
- * **[`rspec-rails` 6.x][]** for Rails 6.1 or 7.x.
12
+ * **[`rspec-rails` 7.x][]** for Rails 7.x.
13
+ * **[`rspec-rails` 6.x][]** for Rails 6.1.
13
14
  * **[`rspec-rails` 5.x][]** for Rails 5.2 or 6.x.
14
15
  * **[`rspec-rails` 4.x][]** for Rails from 5.x or 6.x.
15
16
  * **[`rspec-rails` 3.x][]** for Rails earlier than 5.0.
@@ -26,11 +27,12 @@ According to [RSpec Rails new versioning strategy][] use:
26
27
  [`rspec-rails` 4.x]: https://github.com/rspec/rspec-rails/tree/4-1-maintenance
27
28
  [`rspec-rails` 5.x]: https://github.com/rspec/rspec-rails/tree/5-1-maintenance
28
29
  [`rspec-rails` 6.x]: https://github.com/rspec/rspec-rails/tree/6-1-maintenance
30
+ [`rspec-rails` 7.x]: https://github.com/rspec/rspec-rails/tree/7-0-maintenance
29
31
  [RSpec Rails new versioning strategy]: https://github.com/rspec/rspec-rails/blob/main/rfcs/versioning-strategy.md
30
32
 
31
33
  ## Installation
32
34
 
33
- **IMPORTANT** This README / branch refers to the 6.1.x stable release series, only bugfixes from this series will
35
+ **IMPORTANT** This README / branch refers to the 7.0.x stable release series, only bugfixes from this series will
34
36
  be added here. See the [`main` branch on Github](https://github.com/rspec/rspec-rails/tree/main) if you want or
35
37
  require the latest unstable features.
36
38
 
@@ -40,7 +42,7 @@ require the latest unstable features.
40
42
  ```ruby
41
43
  # Run against this stable release
42
44
  group :development, :test do
43
- gem 'rspec-rails', '~> 6.1.0'
45
+ gem 'rspec-rails', '~> 7.0.0'
44
46
  end
45
47
 
46
48
  # Or, run against the main branch
@@ -87,7 +89,7 @@ read the [`rspec-rails` upgrade notes][] to find out what to watch out for.
87
89
 
88
90
  Be sure to check the general [RSpec upgrade notes][] as well.
89
91
 
90
- [`rspec-rails` upgrade notes]: https://rspec.info/features/6-0/rspec-rails/upgrade
92
+ [`rspec-rails` upgrade notes]: https://rspec.info/features/7-0/rspec-rails/upgrade
91
93
  [RSpec upgrade notes]: https://rspec.info/upgrading-from-rspec-2/
92
94
 
93
95
  ## Usage
@@ -209,22 +211,22 @@ to test the various parts of a Rails system:
209
211
  Follow the links above for examples of how each matcher is used.
210
212
 
211
213
  [the matchers that come standard in RSpec]: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers
212
- [`be_a_new`]: https://rspec.info/features/6-0/rspec-rails/matchers/new-record-matcher
213
- [`render_template`]: https://rspec.info/features/6-0/rspec-rails/matchers/render-template-matcher
214
- [`redirect_to`]: https://rspec.info/features/6-0/rspec-rails/matchers/redirect-to-matcher
215
- [`route_to`]: https://rspec.info/features/6-0/rspec-rails/routing-specs/route-to-matcher
216
- [`be_routable`]: https://rspec.info/features/6-0/rspec-rails/routing-specs/be-routable-matcher
217
- [`have_http_status`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-http-status-matcher
218
- [`match_array`]: https://rspec.info/features/6-0/rspec-rails/matchers/relation-match-array
219
- [`have_been_enqueued`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-been-enqueued-matcher
220
- [`have_enqueued_job`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-enqueued-job-matcher
214
+ [`be_a_new`]: https://rspec.info/features/7-0/rspec-rails/matchers/new-record-matcher
215
+ [`render_template`]: https://rspec.info/features/7-0/rspec-rails/matchers/render-template-matcher
216
+ [`redirect_to`]: https://rspec.info/features/7-0/rspec-rails/matchers/redirect-to-matcher
217
+ [`route_to`]: https://rspec.info/features/7-0/rspec-rails/routing-specs/route-to-matcher
218
+ [`be_routable`]: https://rspec.info/features/7-0/rspec-rails/routing-specs/be-routable-matcher
219
+ [`have_http_status`]: https://rspec.info/features/7-0/rspec-rails/matchers/have-http-status-matcher
220
+ [`match_array`]: https://rspec.info/features/7-0/rspec-rails/matchers/relation-match-array
221
+ [`have_been_enqueued`]: https://rspec.info/features/7-0/rspec-rails/matchers/have-been-enqueued-matcher
222
+ [`have_enqueued_job`]: https://rspec.info/features/7-0/rspec-rails/matchers/have-enqueued-job-matcher
221
223
 
222
224
  ### What else does RSpec Rails add?
223
225
 
224
226
  For a comprehensive look at RSpec Rails’ features,
225
227
  read the [official Cucumber documentation][].
226
228
 
227
- [official Cucumber documentation]: https://rspec.info/features/6-0/rspec-rails
229
+ [official Cucumber documentation]: https://rspec.info/features/7-0/rspec-rails
228
230
 
229
231
  ## What tests should I write?
230
232
 
@@ -269,20 +271,20 @@ RSpec.describe User, type: :model do
269
271
  ...
270
272
  ```
271
273
 
272
- [request]: https://rspec.info/features/6-0/rspec-rails/request-specs/request-spec
273
- [feature]: https://rspec.info/features/6-0/rspec-rails/feature-specs/feature-spec
274
- [system]: https://rspec.info/features/6-0/rspec-rails/system-specs/system-specs
275
- [model]: https://rspec.info/features/6-0/rspec-rails/model-specs
276
- [controller]: https://rspec.info/features/6-0/rspec-rails/controller-specs
277
- [mailer]: https://rspec.info/features/6-0/rspec-rails/mailer-specs
278
- [job]: https://rspec.info/features/6-0/rspec-rails/job-specs/job-spec
279
- [view]: https://rspec.info/features/6-0/rspec-rails/view-specs/view-spec
280
- [routing]: https://rspec.info/features/6-0/rspec-rails/routing-specs
281
- [helper]: https://rspec.info/features/6-0/rspec-rails/helper-specs/helper-spec
274
+ [request]: https://rspec.info/features/7-0/rspec-rails/request-specs/request-spec
275
+ [feature]: https://rspec.info/features/7-0/rspec-rails/feature-specs/feature-spec
276
+ [system]: https://rspec.info/features/7-0/rspec-rails/system-specs/system-specs
277
+ [model]: https://rspec.info/features/7-0/rspec-rails/model-specs
278
+ [controller]: https://rspec.info/features/7-0/rspec-rails/controller-specs
279
+ [mailer]: https://rspec.info/features/7-0/rspec-rails/mailer-specs
280
+ [job]: https://rspec.info/features/7-0/rspec-rails/job-specs/job-spec
281
+ [view]: https://rspec.info/features/7-0/rspec-rails/view-specs/view-spec
282
+ [routing]: https://rspec.info/features/7-0/rspec-rails/routing-specs
283
+ [helper]: https://rspec.info/features/7-0/rspec-rails/helper-specs/helper-spec
282
284
  [`ActionDispatch::IntegrationTest`]: https://api.rubyonrails.org/classes/ActionDispatch/IntegrationTest.html
283
285
  [`ActionDispatch::SystemTestCase`]: https://api.rubyonrails.org/classes/ActionDispatch/SystemTestCase.html
284
286
  [`ActionController::TestCase`]: https://api.rubyonrails.org/classes/ActionController/TestCase.html
285
- [in the appropriate folder]: https://rspec.info/features/6-0/rspec-rails/directory-structure
287
+ [in the appropriate folder]: https://rspec.info/features/7-0/rspec-rails/directory-structure
286
288
 
287
289
  ### System specs, feature specs, request specs–what’s the difference?
288
290
 
@@ -4,6 +4,11 @@ ENV['RAILS_ENV'] ||= 'test'
4
4
  require_relative '../config/environment'
5
5
  # Prevent database truncation if the environment is production
6
6
  abort("The Rails environment is running in production mode!") if Rails.env.production?
7
+ <% if RSpec::Rails::FeatureCheck.has_active_record_migration? -%>
8
+ # Uncomment the line below in case you have `--require rails_helper` in the `.rspec` file
9
+ # that will avoid rails generators crashing because migrations haven't been run yet
10
+ # return unless Rails.env.test?
11
+ <% end -%>
7
12
  require 'rspec/rails'
8
13
  # Add additional requires below this line. Rails is not loaded until this point!
9
14
 
@@ -74,7 +79,7 @@ RSpec.configure do |config|
74
79
  # end
75
80
  #
76
81
  # The different available types are documented in the features, such as in
77
- # https://rspec.info/features/6-0/rspec-rails
82
+ # https://rspec.info/features/7-0/rspec-rails
78
83
  config.infer_spec_type_from_file_location!
79
84
 
80
85
  # Filter lines from Rails gems in backtraces.
@@ -95,6 +95,14 @@ module RSpec
95
95
  ::Rails.application
96
96
  end
97
97
 
98
+ # Default driver to assign if none specified.
99
+ DEFAULT_DRIVER =
100
+ if ::Rails::VERSION::STRING.to_f >= 7.2
101
+ :selenium_chrome_headless
102
+ else
103
+ :selenium
104
+ end
105
+
98
106
  included do |other|
99
107
  ActiveSupport.on_load(:action_dispatch_system_test_case) do
100
108
  ActionDispatch::SystemTesting::Server.silence_puma = true
@@ -137,7 +145,7 @@ module RSpec
137
145
  self.class.before do
138
146
  # A user may have already set the driver, so only default if driver
139
147
  # is not set
140
- driven_by(:selenium) unless @driver
148
+ driven_by(DEFAULT_DRIVER) unless @driver
141
149
  end
142
150
  end
143
151
 
@@ -10,8 +10,7 @@ module RSpec
10
10
  include ActiveRecord::TestFixtures
11
11
 
12
12
  # @private prevent ActiveSupport::TestFixtures to start a DB transaction.
13
- # Monkey patched to avoid collisions with 'let(:name)' in Rails 6.1 and after
14
- # and let(:method_name) before Rails 6.1.
13
+ # Monkey patched to avoid collisions with 'let(:name)' since Rails 6.1
15
14
  def run_in_transaction?
16
15
  current_example_name = (RSpec.current_example && RSpec.current_example.metadata[:description])
17
16
  use_transactional_tests && !self.class.uses_transaction?(current_example_name)
@@ -14,6 +14,7 @@ module RSpec
14
14
  def initialize
15
15
  @args = []
16
16
  @queue = nil
17
+ @priority = nil
17
18
  @at = nil
18
19
  @block = proc { }
19
20
  set_expected_number(:exactly, 1)
@@ -30,6 +31,11 @@ module RSpec
30
31
  self
31
32
  end
32
33
 
34
+ def at_priority(priority)
35
+ @priority = priority.to_i
36
+ self
37
+ end
38
+
33
39
  def at(time_or_date)
34
40
  case time_or_date
35
41
  when Time then @at = Time.at(time_or_date.to_f)
@@ -71,6 +77,8 @@ module RSpec
71
77
  end
72
78
 
73
79
  def failure_message
80
+ return @failure_message if defined?(@failure_message)
81
+
74
82
  "expected to #{self.class::FAILURE_MESSAGE_EXPECTATION_ACTION} #{base_message}".tap do |msg|
75
83
  if @unmatching_jobs.any?
76
84
  msg << "\nQueued jobs:"
@@ -101,7 +109,7 @@ module RSpec
101
109
 
102
110
  def check(jobs)
103
111
  @matching_jobs, @unmatching_jobs = jobs.partition do |job|
104
- if job_match?(job) && arguments_match?(job) && queue_match?(job) && at_match?(job)
112
+ if matches_constraints?(job)
105
113
  args = deserialize_arguments(job)
106
114
  @block.call(*args)
107
115
  true
@@ -109,6 +117,12 @@ module RSpec
109
117
  false
110
118
  end
111
119
  end
120
+
121
+ if (signature_mismatch = detect_args_signature_mismatch(@matching_jobs))
122
+ @failure_message = signature_mismatch
123
+ return false
124
+ end
125
+
112
126
  @matching_jobs_count = @matching_jobs.size
113
127
 
114
128
  case @expectation_type
@@ -123,6 +137,7 @@ module RSpec
123
137
  msg << " with #{@args}," if @args.any?
124
138
  msg << " on queue #{@queue}," if @queue
125
139
  msg << " at #{@at.inspect}," if @at
140
+ msg << " with priority #{@priority}," if @priority
126
141
  msg << " but #{self.class::MESSAGE_EXPECTATION_ACTION} #{@matching_jobs_count}"
127
142
  end
128
143
  end
@@ -132,13 +147,23 @@ module RSpec
132
147
  msg_parts << "with #{deserialize_arguments(job)}" if job[:args].any?
133
148
  msg_parts << "on queue #{job[:queue]}" if job[:queue]
134
149
  msg_parts << "at #{Time.at(job[:at])}" if job[:at]
150
+ msg_parts <<
151
+ if job[:priority]
152
+ "with priority #{job[:priority]}"
153
+ else
154
+ "with no priority specified"
155
+ end
135
156
 
136
157
  "#{job[:job].name} job".tap do |msg|
137
158
  msg << " #{msg_parts.join(', ')}" if msg_parts.any?
138
159
  end
139
160
  end
140
161
 
141
- def job_match?(job)
162
+ def matches_constraints?(job)
163
+ job_matches?(job) && arguments_match?(job) && queue_match?(job) && at_match?(job) && priority_match?(job)
164
+ end
165
+
166
+ def job_matches?(job)
142
167
  @job ? @job == job[:job] : true
143
168
  end
144
169
 
@@ -152,12 +177,39 @@ module RSpec
152
177
  end
153
178
  end
154
179
 
180
+ def detect_args_signature_mismatch(jobs)
181
+ jobs.each do |job|
182
+ args = deserialize_arguments(job)
183
+
184
+ if (signature_mismatch = check_args_signature_mismatch(job.fetch(:job), :perform, args))
185
+ return signature_mismatch
186
+ end
187
+ end
188
+
189
+ nil
190
+ end
191
+
192
+ def check_args_signature_mismatch(job_class, job_method, args)
193
+ signature = Support::MethodSignature.new(job_class.public_instance_method(job_method))
194
+ verifier = Support::StrictSignatureVerifier.new(signature, args)
195
+
196
+ unless verifier.valid?
197
+ "Incorrect arguments passed to #{job_class.name}: #{verifier.error_message}"
198
+ end
199
+ end
200
+
155
201
  def queue_match?(job)
156
202
  return true unless @queue
157
203
 
158
204
  @queue == job[:queue]
159
205
  end
160
206
 
207
+ def priority_match?(job)
208
+ return true unless @priority
209
+
210
+ @priority == job[:priority]
211
+ end
212
+
161
213
  def at_match?(job)
162
214
  return true unless @at
163
215
  return job[:at].nil? if @at == :no_wait
@@ -41,6 +41,8 @@ module RSpec
41
41
  end
42
42
 
43
43
  def failure_message
44
+ return @failure_message if defined?(@failure_message)
45
+
44
46
  "expected to enqueue #{base_message}".tap do |msg|
45
47
  msg << "\n#{unmatching_mail_jobs_message}" if unmatching_mail_jobs.any?
46
48
  end
@@ -89,6 +91,22 @@ module RSpec
89
91
  super(job)
90
92
  end
91
93
 
94
+ def detect_args_signature_mismatch(jobs)
95
+ return if @method_name.nil?
96
+
97
+ mailer_class = mailer_class_name.constantize
98
+
99
+ jobs.each do |job|
100
+ mailer_args = extract_args_without_parameterized_params(job)
101
+
102
+ if (signature_mismatch = check_args_signature_mismatch(mailer_class, @method_name, mailer_args))
103
+ return signature_mismatch
104
+ end
105
+ end
106
+
107
+ nil
108
+ end
109
+
92
110
  def base_mailer_args
93
111
  [mailer_class_name, @method_name.to_s, MAILER_JOB_METHOD]
94
112
  end
@@ -157,6 +175,19 @@ module RSpec
157
175
  end
158
176
  end
159
177
 
178
+ def extract_args_without_parameterized_params(job)
179
+ args = deserialize_arguments(job)
180
+ mailer_args = args - base_mailer_args
181
+
182
+ if parameterized_mail?(job)
183
+ mailer_args = mailer_args[1..-1] # ignore parameterized params
184
+ elsif mailer_args.last.is_a?(Hash) && mailer_args.last.key?(:args)
185
+ mailer_args = args.last[:args]
186
+ end
187
+
188
+ mailer_args
189
+ end
190
+
160
191
  def legacy_mail?(job)
161
192
  RSpec::Rails::FeatureCheck.has_action_mailer_legacy_delivery_job? && job[:job] <= ActionMailer::DeliveryJob
162
193
  end
@@ -233,7 +233,7 @@ module RSpec
233
233
  # expect(response).to have_http_status(:redirect)
234
234
  #
235
235
  # @see RSpec::Rails::Matchers#have_http_status
236
- # @see https://github.com/rails/rails/blob/6-0-stable/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
236
+ # @see https://github.com/rails/rails/blob/7-2-stable/actionpack/lib/action_dispatch/testing/test_response.rb `ActionDispatch::TestResponse`
237
237
  class GenericStatus < RSpec::Rails::Matchers::BaseMatcher
238
238
  include HaveHttpStatus
239
239
 
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec Rails.
4
4
  module Version
5
5
  # Current version of RSpec Rails, in semantic versioning format.
6
- STRING = '6.1.5'
6
+ STRING = '7.0.0'
7
7
  end
8
8
  end
9
9
  end
data/lib/rspec-rails.rb CHANGED
@@ -10,6 +10,23 @@ module RSpec
10
10
  require 'rails/source_annotation_extractor'
11
11
  ::Rails::SourceAnnotationExtractor::Annotation.register_directories("spec")
12
12
 
13
+ # As of Rails 8.0.0 you can register directories to work with `rails stats`
14
+ if ::Rails::VERSION::STRING >= "8.0.0"
15
+ require 'rails/code_statistics'
16
+
17
+ dirs = Dir['./spec/**/*_spec.rb']
18
+ .map { |f| f.sub(/^\.\/(spec\/\w+)\/.*/, '\\1') }
19
+ .uniq
20
+ .select { |f| File.directory?(f) }
21
+
22
+ Hash[dirs.map { |d| [d.split('/').last, d] }].each do |type, dir|
23
+ name = type.singularize.capitalize
24
+
25
+ ::Rails::CodeStatistics.register_directory "#{name} specs", dir
26
+ ::Rails::CodeStatistics::TEST_TYPES << "#{name} specs"
27
+ end
28
+ end
29
+
13
30
  generators = config.app_generators
14
31
  generators.integration_tool :rspec
15
32
  generators.test_framework :rspec
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.5
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -52,42 +52,42 @@ dependencies:
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '6.1'
55
+ version: '7.0'
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '6.1'
62
+ version: '7.0'
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: activesupport
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '6.1'
69
+ version: '7.0'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '6.1'
76
+ version: '7.0'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: railties
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '6.1'
83
+ version: '7.0'
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '6.1'
90
+ version: '7.0'
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec-core
93
93
  requirement: !ruby/object:Gem::Requirement
@@ -297,7 +297,7 @@ licenses:
297
297
  - MIT
298
298
  metadata:
299
299
  bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
300
- changelog_uri: https://github.com/rspec/rspec-rails/blob/v6.1.5/Changelog.md
300
+ changelog_uri: https://github.com/rspec/rspec-rails/blob/v7.0.0/Changelog.md
301
301
  documentation_uri: https://rspec.info/documentation/
302
302
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
303
303
  source_code_uri: https://github.com/rspec/rspec-rails
@@ -310,7 +310,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
310
310
  requirements:
311
311
  - - ">="
312
312
  - !ruby/object:Gem::Version
313
- version: 2.5.0
313
+ version: 2.7.0
314
314
  required_rubygems_version: !ruby/object:Gem::Requirement
315
315
  requirements:
316
316
  - - ">="
metadata.gz.sig CHANGED
Binary file