mongoid 7.1.9 → 7.1.10
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 +1 -1
- 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/app/models/address.rb +4 -0
- data/spec/app/models/person.rb +9 -0
- 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
- metadata +36 -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: 99b8d31638cfb3ff2cf789177ed38778cc7ed9281b2f90eb6790a53c4e817557
|
4
|
+
data.tar.gz: e4fccff34a4cc008ce1af7681cc6a5179960ab3dca7c8dada85ddbcef33d102d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f9474eaa39877c8087d8f681a964a43943193ef43ec6e5fed05c349e9add56235e10b3959615213157514f7224e63157f90a96720bc993d15f0d2ea2112a7c3
|
7
|
+
data.tar.gz: 74db9f1912c3d4029c671f72f4856984f0a0520e3d1492f2ce8b1b9ce40cfd4efc2fe89923ac695c9644913533ca63e76842a993196cfb48b5c81c715e983d5c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/mongoid.rb
CHANGED
@@ -415,7 +415,7 @@ module Mongoid
|
|
415
415
|
# @param [ Proc ] block Optional block to pass.
|
416
416
|
#
|
417
417
|
# @return [ Criteria, Object ] A Criteria or return value from the target.
|
418
|
-
def method_missing(name, *args, &block)
|
418
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
419
419
|
return super if _target.respond_to?(name)
|
420
420
|
klass.send(:with_scope, criteria) do
|
421
421
|
criteria.public_send(name, *args, &block)
|
@@ -133,7 +133,7 @@ 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
|
|
@@ -436,7 +436,7 @@ module Mongoid
|
|
436
436
|
# @return [ Criteria, Object ] A Criteria or return value from the target.
|
437
437
|
#
|
438
438
|
# @since 2.0.0.beta.1
|
439
|
-
def method_missing(name, *args, &block)
|
439
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
440
440
|
if _target.respond_to?(name)
|
441
441
|
_target.send(name, *args, &block)
|
442
442
|
else
|
data/lib/mongoid/criteria.rb
CHANGED
@@ -518,7 +518,7 @@ module Mongoid
|
|
518
518
|
# @return [ Object ] The result of the method call.
|
519
519
|
#
|
520
520
|
# @since 1.0.0
|
521
|
-
def method_missing(name, *args, &block)
|
521
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
522
522
|
if klass.respond_to?(name)
|
523
523
|
klass.send(:with_scope, self) do
|
524
524
|
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
data/spec/app/models/address.rb
CHANGED
data/spec/app/models/person.rb
CHANGED
@@ -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)
|
@@ -2416,13 +2416,26 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
2416
2416
|
end
|
2417
2417
|
|
2418
2418
|
context "when providing a criteria class method" do
|
2419
|
+
context "without keyword arguments" do
|
2419
2420
|
|
2420
|
-
|
2421
|
-
|
2421
|
+
let(:addresses) do
|
2422
|
+
person.addresses.california
|
2423
|
+
end
|
2424
|
+
|
2425
|
+
it "applies the criteria to the documents" do
|
2426
|
+
expect(addresses).to eq([ address_one ])
|
2427
|
+
end
|
2422
2428
|
end
|
2423
2429
|
|
2424
|
-
|
2425
|
-
|
2430
|
+
context "with keyword arguments" do
|
2431
|
+
|
2432
|
+
let(:addresses) do
|
2433
|
+
person.addresses.city_and_state(city: "Sacramento", state: "CA")
|
2434
|
+
end
|
2435
|
+
|
2436
|
+
it "applies the criteria to the documents" do
|
2437
|
+
expect(addresses).to eq([])
|
2438
|
+
end
|
2426
2439
|
end
|
2427
2440
|
end
|
2428
2441
|
|
@@ -1332,4 +1332,21 @@ describe Mongoid::Association::Referenced::BelongsTo::Proxy do
|
|
1332
1332
|
end
|
1333
1333
|
end
|
1334
1334
|
end
|
1335
|
+
|
1336
|
+
describe "#method_missing" do
|
1337
|
+
let!(:person) do
|
1338
|
+
Person.create
|
1339
|
+
end
|
1340
|
+
|
1341
|
+
let!(:game) do
|
1342
|
+
Game.create(person: person)
|
1343
|
+
end
|
1344
|
+
|
1345
|
+
it 'handles keyword args' do
|
1346
|
+
expect do
|
1347
|
+
game.person.set_personal_data(ssn: '123', age: 25)
|
1348
|
+
end.not_to raise_error
|
1349
|
+
end
|
1350
|
+
|
1351
|
+
end
|
1335
1352
|
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
|
@@ -3645,10 +3645,14 @@ describe Mongoid::Criteria do
|
|
3645
3645
|
|
3646
3646
|
before do
|
3647
3647
|
expect(Person).to receive(:minor).and_call_original
|
3648
|
+
expect(Person).to receive(:older_than).and_call_original
|
3648
3649
|
end
|
3649
3650
|
|
3650
3651
|
it "calls the method on the class" do
|
3651
3652
|
expect(criteria.minor).to be_empty
|
3653
|
+
expect do
|
3654
|
+
criteria.older_than(age: 25)
|
3655
|
+
end.not_to raise_error
|
3652
3656
|
end
|
3653
3657
|
end
|
3654
3658
|
|
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.1.
|
4
|
+
version: 7.1.10
|
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,40 @@ 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
|
88
|
+
- !ruby/object:Gem::Dependency
|
89
|
+
name: bson
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 4.9.4
|
95
|
+
- - "<"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 5.0.0
|
98
|
+
type: :development
|
99
|
+
prerelease: false
|
100
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 4.9.4
|
105
|
+
- - "<"
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: 5.0.0
|
74
108
|
description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
|
75
109
|
in Ruby.
|
76
110
|
email:
|
metadata.gz.sig
CHANGED
Binary file
|