rspec-rails 6.1.5 → 7.0.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/Changelog.md +13 -1
- data/README.md +27 -25
- data/lib/generators/rspec/install/templates/spec/rails_helper.rb +6 -1
- data/lib/rspec/rails/example/system_example_group.rb +9 -1
- data/lib/rspec/rails/fixture_support.rb +1 -2
- data/lib/rspec/rails/matchers/active_job.rb +54 -2
- data/lib/rspec/rails/matchers/have_enqueued_mail.rb +31 -0
- data/lib/rspec/rails/matchers/have_http_status.rb +1 -1
- data/lib/rspec/rails/version.rb +1 -1
- data/lib/rspec-rails.rb +17 -0
- data.tar.gz.sig +0 -0
- metadata +9 -9
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e12619053ed39f2f0fed4bc0aed2b2e552e400315663632d97cf9a82e2eaa5d3
|
4
|
+
data.tar.gz: 7bde5b94d9f990a0d9d08143529ce3e25b9df1df2cf62c216515c0cc6e96cd4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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/
|
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`
|
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
|
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', '~>
|
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/
|
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/
|
213
|
-
[`render_template`]: https://rspec.info/features/
|
214
|
-
[`redirect_to`]: https://rspec.info/features/
|
215
|
-
[`route_to`]: https://rspec.info/features/
|
216
|
-
[`be_routable`]: https://rspec.info/features/
|
217
|
-
[`have_http_status`]: https://rspec.info/features/
|
218
|
-
[`match_array`]: https://rspec.info/features/
|
219
|
-
[`have_been_enqueued`]: https://rspec.info/features/
|
220
|
-
[`have_enqueued_job`]: https://rspec.info/features/
|
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/
|
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/
|
273
|
-
[feature]: https://rspec.info/features/
|
274
|
-
[system]: https://rspec.info/features/
|
275
|
-
[model]: https://rspec.info/features/
|
276
|
-
[controller]: https://rspec.info/features/
|
277
|
-
[mailer]: https://rspec.info/features/
|
278
|
-
[job]: https://rspec.info/features/
|
279
|
-
[view]: https://rspec.info/features/
|
280
|
-
[routing]: https://rspec.info/features/
|
281
|
-
[helper]: https://rspec.info/features/
|
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/
|
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/
|
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(
|
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)'
|
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
|
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
|
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/
|
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
|
|
data/lib/rspec/rails/version.rb
CHANGED
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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/
|
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.
|
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
|