mongoid 7.3.1 → 7.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/mongoid.rb +1 -0
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +1 -1
- data/lib/mongoid/association/proxy.rb +2 -2
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +1 -1
- data/lib/mongoid/association/referenced/has_many/proxy.rb +1 -1
- data/lib/mongoid/criteria.rb +1 -1
- data/lib/mongoid/interceptable.rb +1 -1
- data/lib/mongoid/version.rb +1 -1
- data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +17 -4
- data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +17 -0
- data/spec/mongoid/clients/options_spec.rb +2 -0
- data/spec/mongoid/criteria_spec.rb +4 -0
- data/spec/support/models/address.rb +4 -0
- data/spec/support/models/person.rb +9 -0
- metadata +16 -2
- 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: 27ef7fb0ba8610ab6cd4cf814a5a47361fe909247a85535c807d90dbf70c1563
|
4
|
+
data.tar.gz: fe110c6f5439f985325f3df374bfc87fa5c9133eb97cac501dd9166b8d45cf60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f963e5e7fb3a7705d36ce9a6d24fb09106ca2ccca52d1a2cf24ddbf9a98773206d315374d4ecc40ad6a208be75ad0de5e44a6d43285faa3304ec641d91de3fa
|
7
|
+
data.tar.gz: 167e2188b8801cb0a4eb15ec98727e3f331eab9f0588923f80f5f3cf2e29eec8b9cf6a01ace242d6412ea578a9fa7e4de309278a309c0d84b5cc07091f74828f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/mongoid.rb
CHANGED
@@ -422,7 +422,7 @@ module Mongoid
|
|
422
422
|
# @param [ Proc ] block Optional block to pass.
|
423
423
|
#
|
424
424
|
# @return [ Criteria, Object ] A Criteria or return value from the target.
|
425
|
-
def method_missing(name, *args, &block)
|
425
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
426
426
|
return super if _target.respond_to?(name)
|
427
427
|
klass.send(:with_scope, criteria) do
|
428
428
|
criteria.public_send(name, *args, &block)
|
@@ -133,12 +133,12 @@ module Mongoid
|
|
133
133
|
# @param [ String, Symbol ] name The name of the method.
|
134
134
|
# @param [ Array ] args The arguments passed to the method.
|
135
135
|
#
|
136
|
-
def method_missing(name, *args, &block)
|
136
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
137
137
|
_target.send(name, *args, &block)
|
138
138
|
end
|
139
139
|
|
140
140
|
# @api private
|
141
|
-
def respond_to_missing?(name, *args)
|
141
|
+
ruby2_keywords def respond_to_missing?(name, *args)
|
142
142
|
_target.respond_to?(name, *args)
|
143
143
|
end
|
144
144
|
|
@@ -443,7 +443,7 @@ module Mongoid
|
|
443
443
|
# @return [ Criteria, Object ] A Criteria or return value from the target.
|
444
444
|
#
|
445
445
|
# @since 2.0.0.beta.1
|
446
|
-
def method_missing(name, *args, &block)
|
446
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
447
447
|
if _target.respond_to?(name)
|
448
448
|
_target.send(name, *args, &block)
|
449
449
|
else
|
data/lib/mongoid/criteria.rb
CHANGED
@@ -567,7 +567,7 @@ module Mongoid
|
|
567
567
|
# @return [ Object ] The result of the method call.
|
568
568
|
#
|
569
569
|
# @since 1.0.0
|
570
|
-
def method_missing(name, *args, &block)
|
570
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
571
571
|
if klass.respond_to?(name)
|
572
572
|
klass.send(:with_scope, self) do
|
573
573
|
klass.send(name, *args, &block)
|
@@ -125,7 +125,7 @@ module Mongoid
|
|
125
125
|
# @return [ Document ] The document
|
126
126
|
#
|
127
127
|
# @since 2.3.0
|
128
|
-
def run_callbacks(kind, *args, &block)
|
128
|
+
ruby2_keywords def run_callbacks(kind, *args, &block)
|
129
129
|
cascadable_children(kind).each do |child|
|
130
130
|
if child.run_callbacks(child_callback_type(kind, child), *args) == false
|
131
131
|
return false
|
data/lib/mongoid/version.rb
CHANGED
@@ -2449,13 +2449,26 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
2449
2449
|
end
|
2450
2450
|
|
2451
2451
|
context "when providing a criteria class method" do
|
2452
|
+
context "without keyword arguments" do
|
2452
2453
|
|
2453
|
-
|
2454
|
-
|
2454
|
+
let(:addresses) do
|
2455
|
+
person.addresses.california
|
2456
|
+
end
|
2457
|
+
|
2458
|
+
it "applies the criteria to the documents" do
|
2459
|
+
expect(addresses).to eq([ address_one ])
|
2460
|
+
end
|
2455
2461
|
end
|
2456
2462
|
|
2457
|
-
|
2458
|
-
|
2463
|
+
context "with keyword arguments" do
|
2464
|
+
|
2465
|
+
let(:addresses) do
|
2466
|
+
person.addresses.city_and_state(city: "Sacramento", state: "CA")
|
2467
|
+
end
|
2468
|
+
|
2469
|
+
it "applies the criteria to the documents" do
|
2470
|
+
expect(addresses).to eq([])
|
2471
|
+
end
|
2459
2472
|
end
|
2460
2473
|
end
|
2461
2474
|
|
@@ -1349,4 +1349,21 @@ describe Mongoid::Association::Referenced::BelongsTo::Proxy do
|
|
1349
1349
|
end
|
1350
1350
|
end
|
1351
1351
|
end
|
1352
|
+
|
1353
|
+
describe "#method_missing" do
|
1354
|
+
let!(:person) do
|
1355
|
+
Person.create
|
1356
|
+
end
|
1357
|
+
|
1358
|
+
let!(:game) do
|
1359
|
+
Game.create(person: person)
|
1360
|
+
end
|
1361
|
+
|
1362
|
+
it 'handles keyword args' do
|
1363
|
+
expect do
|
1364
|
+
game.person.set_personal_data(ssn: '123', age: 25)
|
1365
|
+
end.not_to raise_error
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
end
|
1352
1369
|
end
|
@@ -141,6 +141,8 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
141
141
|
end
|
142
142
|
|
143
143
|
it 'does not disconnect the original cluster' do
|
144
|
+
skip 'https://jira.mongodb.org/browse/MONGOID-5130'
|
145
|
+
|
144
146
|
expect(connections_after).to eq(connections_before)
|
145
147
|
expect(cluster_before).to be(cluster_after)
|
146
148
|
end
|
@@ -3532,10 +3532,14 @@ describe Mongoid::Criteria do
|
|
3532
3532
|
|
3533
3533
|
before do
|
3534
3534
|
expect(Person).to receive(:minor).and_call_original
|
3535
|
+
expect(Person).to receive(:older_than).and_call_original
|
3535
3536
|
end
|
3536
3537
|
|
3537
3538
|
it "calls the method on the class" do
|
3538
3539
|
expect(criteria.minor).to be_empty
|
3540
|
+
expect do
|
3541
|
+
criteria.older_than(age: 25)
|
3542
|
+
end.not_to raise_error
|
3539
3543
|
end
|
3540
3544
|
end
|
3541
3545
|
|
@@ -136,6 +136,10 @@ class Person
|
|
136
136
|
scope :without_ssn, ->{ without(:ssn) }
|
137
137
|
scope :search, ->(query){ any_of({ title: query }) }
|
138
138
|
|
139
|
+
def self.older_than(age:)
|
140
|
+
where(:age.gt => age)
|
141
|
+
end
|
142
|
+
|
139
143
|
def score_with_rescoring=(score)
|
140
144
|
@rescored = score.to_i + 20
|
141
145
|
self.score_without_rescoring = score
|
@@ -206,6 +210,11 @@ class Person
|
|
206
210
|
self.map_with_default["key"] = value
|
207
211
|
end
|
208
212
|
|
213
|
+
def set_personal_data(ssn:, age:)
|
214
|
+
self.ssn = ssn
|
215
|
+
self.age = age
|
216
|
+
end
|
217
|
+
|
209
218
|
reset_callbacks(:validate)
|
210
219
|
reset_callbacks(:create)
|
211
220
|
reset_callbacks(:save)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.3.
|
4
|
+
version: 7.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Durran Jordan
|
@@ -29,7 +29,7 @@ cert_chain:
|
|
29
29
|
YoFhlyUEi7VLlqNH0H/JFttVZK6+qmLelkVNcIYVLeWOB4Lf4VxEiYGEK1ORxsrY
|
30
30
|
iyYKJJALWY1FAInGRIlvkN+B8o3yIhq1
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date: 2021-
|
32
|
+
date: 2021-08-03 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: activemodel
|
@@ -71,6 +71,20 @@ dependencies:
|
|
71
71
|
- - "<"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: 3.0.0
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: ruby2_keywords
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 0.0.5
|
81
|
+
type: :runtime
|
82
|
+
prerelease: false
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.0.5
|
74
88
|
- !ruby/object:Gem::Dependency
|
75
89
|
name: bson
|
76
90
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|