rspec-mocks 3.11.1 → 3.11.2

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: 93e990c0ca803cda14a587b44a4a6148fd60df472f56e58c54be5a2c8ef4a655
4
- data.tar.gz: db0535d24fb98fa0da5c5de3356b687e1b95773624dd38132444f74a57c5d0b7
3
+ metadata.gz: 4c3dc1584caef34a4124fa5ca6add46de607d0a74718463309417093bd2c1291
4
+ data.tar.gz: 63740bfcd05bc3d8b3005d7c1856c22f50adadbcb8ed02c92287669068474407
5
5
  SHA512:
6
- metadata.gz: 7e74e72aec89ffce718f693bfda425f142bfd7139d90c57ff02e62ac461d99f9458df2ffba237bd9163e1665fd9b03a0221f723552d84bffb539a567c3b98f71
7
- data.tar.gz: 6b2b9c447b777b74fcf50eb62a9674b0a4e321cf71165d340017f1ec9050a676c818a608d4d99bb5bb9c1178f44e57505e52c750b22520cb868b05b02812bfc2
6
+ metadata.gz: 730afc91e3183e562e0c637dde6913e3fc54b689d74a330fb9dbed0348a9d1faa77df5bf1b3afb51aecc456e9f9cf967d8e90f67e277c55ca4605bf57ededfa0
7
+ data.tar.gz: 0aa402d85c334925fe2f2202c0843f74ca4c9a0ffd08c295838e3bdf9ef12f1c33da4ac9a2b55ae60584952e9e85b63a2f723ee86e5003a291f35d43532bc375
checksums.yaml.gz.sig CHANGED
Binary file
data/Changelog.md CHANGED
@@ -1,5 +1,16 @@
1
1
  ### Development
2
- [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...3-11-maintenance)
2
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.2...3-11-maintenance)
3
+
4
+ ### 3.11.2 / 2022-10-25
5
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...3.11.2)
6
+
7
+ Bug Fixes:
8
+
9
+ * Use the original implementation of `Class.new` to detect overridden definitions
10
+ of `new` rather than the owner, fixing detection of "double aliased" methods
11
+ in Ruby 3 and above. (Benoit Daloze, #1470, #1476)
12
+ * Support keyword argument semantics when constraining argument expectations using
13
+ `with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, #1473)
3
14
 
4
15
  ### 3.11.1 / 2022-03-31
5
16
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.0...v3.11.1)
@@ -406,7 +406,6 @@ module RSpec
406
406
  # some collaborators it delegates to for this stuff but for now this was
407
407
  # the simplest way to split the public from private stuff to make it
408
408
  # easier to publish the docs for the APIs we want published.
409
- # rubocop:disable Metrics/ModuleLength
410
409
  module ImplementationDetails
411
410
  attr_accessor :error_generator, :implementation
412
411
  attr_reader :message
@@ -686,7 +685,6 @@ module RSpec
686
685
  nil
687
686
  end
688
687
  end
689
- # rubocop:enable Metrics/ModuleLength
690
688
 
691
689
  include ImplementationDetails
692
690
  end
@@ -185,11 +185,23 @@ module RSpec
185
185
  def self.applies_to?(method_name)
186
186
  return false unless method_name == :new
187
187
  klass = yield
188
- return false unless klass.respond_to?(:new, true)
188
+ return false unless ::Class === klass && klass.respond_to?(:new, true)
189
189
 
190
190
  # We only want to apply our special logic to normal `new` methods.
191
191
  # Methods that the user has monkeyed with should be left as-is.
192
- ::RSpec::Support.method_handle_for(klass, :new).owner == ::Class
192
+ uses_class_new?(klass)
193
+ end
194
+
195
+ if RUBY_VERSION.to_i >= 3
196
+ CLASS_NEW = ::Class.instance_method(:new)
197
+
198
+ def self.uses_class_new?(klass)
199
+ ::RSpec::Support.method_handle_for(klass, :new) == CLASS_NEW.bind(klass)
200
+ end
201
+ else # Ruby 2's Method#== is too strict
202
+ def self.uses_class_new?(klass)
203
+ ::RSpec::Support.method_handle_for(klass, :new).owner == ::Class
204
+ end
193
205
  end
194
206
 
195
207
  def with_signature
@@ -31,6 +31,7 @@ module RSpec
31
31
  end
32
32
  end
33
33
  end
34
+ ruby2_keywords(:with) if respond_to?(:ruby2_keywords, true)
34
35
 
35
36
  private
36
37
 
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec mocks.
4
4
  module Version
5
5
  # Version of RSpec mocks currently in use in SemVer format.
6
- STRING = '3.11.1'
6
+ STRING = '3.11.2'
7
7
  end
8
8
  end
9
9
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.1
4
+ version: 3.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Baker
@@ -45,7 +45,7 @@ cert_chain:
45
45
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
46
46
  F3MdtaDehhjC
47
47
  -----END CERTIFICATE-----
48
- date: 2022-03-31 00:00:00.000000000 Z
48
+ date: 2022-10-25 00:00:00.000000000 Z
49
49
  dependencies:
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: rspec-support
@@ -194,7 +194,7 @@ licenses:
194
194
  - MIT
195
195
  metadata:
196
196
  bug_tracker_uri: https://github.com/rspec/rspec-mocks/issues
197
- changelog_uri: https://github.com/rspec/rspec-mocks/blob/v3.11.1/Changelog.md
197
+ changelog_uri: https://github.com/rspec/rspec-mocks/blob/v3.11.2/Changelog.md
198
198
  documentation_uri: https://rspec.info/documentation/
199
199
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
200
200
  source_code_uri: https://github.com/rspec/rspec-mocks
@@ -214,8 +214,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubygems_version: 3.3.3
217
+ rubygems_version: 3.2.3
218
218
  signing_key:
219
219
  specification_version: 4
220
- summary: rspec-mocks-3.11.1
220
+ summary: rspec-mocks-3.11.2
221
221
  test_files: []
metadata.gz.sig CHANGED
Binary file