mongoid 9.0.0 → 9.0.1
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
- data/README.md +2 -0
- data/Rakefile +44 -21
- data/lib/config/locales/en.yml +4 -0
- data/lib/mongoid/atomic_update_preparer.rb +7 -6
- data/lib/mongoid/config.rb +9 -0
- data/lib/mongoid/contextual/aggregable/memory.rb +3 -2
- data/lib/mongoid/contextual/aggregable/mongo.rb +5 -2
- data/lib/mongoid/criteria/findable.rb +2 -2
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +15 -1
- data/lib/mongoid/errors/invalid_around_callback.rb +16 -0
- data/lib/mongoid/errors.rb +1 -0
- data/lib/mongoid/fields.rb +13 -7
- data/lib/mongoid/interceptable.rb +18 -13
- data/lib/mongoid/scopable.rb +7 -1
- data/lib/mongoid/touchable.rb +1 -7
- data/lib/mongoid/version.rb +1 -1
- data/spec/mongoid/association_spec.rb +14 -0
- data/spec/mongoid/attributes_spec.rb +16 -0
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +11 -0
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +11 -0
- data/spec/mongoid/contextual/mongo_spec.rb +72 -3
- data/spec/mongoid/fields_spec.rb +2 -2
- data/spec/mongoid/interceptable_spec.rb +31 -0
- data/spec/mongoid/scopable_spec.rb +88 -85
- data/spec/mongoid/touchable_spec.rb +75 -0
- data/spec/mongoid/touchable_spec_models.rb +16 -0
- data/spec/support/models/band.rb +1 -0
- data/spec/support/models/lat_lng.rb +6 -0
- metadata +8 -80
- checksums.yaml.gz.sig +0 -1
- data/spec/shared/LICENSE +0 -20
- data/spec/shared/bin/get-mongodb-download-url +0 -17
- data/spec/shared/bin/s3-copy +0 -45
- data/spec/shared/bin/s3-upload +0 -69
- data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
- data/spec/shared/lib/mrss/cluster_config.rb +0 -231
- data/spec/shared/lib/mrss/constraints.rb +0 -378
- data/spec/shared/lib/mrss/docker_runner.rb +0 -298
- data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
- data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
- data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
- data/spec/shared/lib/mrss/server_version_registry.rb +0 -113
- data/spec/shared/lib/mrss/session_registry.rb +0 -69
- data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
- data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
- data/spec/shared/lib/mrss/utils.rb +0 -37
- data/spec/shared/share/Dockerfile.erb +0 -281
- data/spec/shared/share/haproxy-1.conf +0 -16
- data/spec/shared/share/haproxy-2.conf +0 -17
- data/spec/shared/shlib/config.sh +0 -27
- data/spec/shared/shlib/distro.sh +0 -74
- data/spec/shared/shlib/server.sh +0 -417
- data/spec/shared/shlib/set_env.sh +0 -146
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
@@ -2594,4 +2594,35 @@ describe Mongoid::Interceptable do
|
|
2594
2594
|
end
|
2595
2595
|
end
|
2596
2596
|
end
|
2597
|
+
|
2598
|
+
context "when around callbacks for embedded children are enabled" do
|
2599
|
+
config_override :around_callbacks_for_embeds, true
|
2600
|
+
|
2601
|
+
context "when around callback is defined without a yield" do
|
2602
|
+
class Mother
|
2603
|
+
include Mongoid::Document
|
2604
|
+
embeds_many :daughters, cascade_callbacks: true
|
2605
|
+
end
|
2606
|
+
|
2607
|
+
class Daughter
|
2608
|
+
include Mongoid::Document
|
2609
|
+
embedded_in :mother
|
2610
|
+
around_save :log_callback
|
2611
|
+
|
2612
|
+
private
|
2613
|
+
|
2614
|
+
def log_callback
|
2615
|
+
logger.debug('callback invoked')
|
2616
|
+
end
|
2617
|
+
end
|
2618
|
+
|
2619
|
+
let(:mom) { Mother.create(daughters: [ Daughter.new, Daughter.new ]) }
|
2620
|
+
|
2621
|
+
it "raises an InvalidAroundCallback error" do
|
2622
|
+
expect do
|
2623
|
+
mom.save
|
2624
|
+
end.to raise_error(Mongoid::Errors::InvalidAroundCallback)
|
2625
|
+
end
|
2626
|
+
end
|
2627
|
+
end
|
2597
2628
|
end
|
@@ -3,6 +3,19 @@
|
|
3
3
|
|
4
4
|
require "spec_helper"
|
5
5
|
|
6
|
+
# Retrieve the singleton class for the given class.
|
7
|
+
def singleton_class_for(klass)
|
8
|
+
class <<klass; self; end
|
9
|
+
end
|
10
|
+
|
11
|
+
# Helper method for removing a declared scope
|
12
|
+
def remove_scope(klass, scope)
|
13
|
+
if klass._declared_scopes[scope]
|
14
|
+
singleton_class_for(klass).remove_method(scope)
|
15
|
+
klass._declared_scopes.delete(scope)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
6
19
|
describe Mongoid::Scopable do
|
7
20
|
|
8
21
|
describe ".default_scope" do
|
@@ -349,6 +362,10 @@ describe Mongoid::Scopable do
|
|
349
362
|
Band.create!(name: 'testing')
|
350
363
|
end
|
351
364
|
|
365
|
+
after do
|
366
|
+
remove_scope(Band, :tests)
|
367
|
+
end
|
368
|
+
|
352
369
|
it 'applies the collation' do
|
353
370
|
expect(Band.tests.first['name']).to eq('testing')
|
354
371
|
end
|
@@ -365,10 +382,7 @@ describe Mongoid::Scopable do
|
|
365
382
|
end
|
366
383
|
|
367
384
|
after do
|
368
|
-
|
369
|
-
undef_method :active
|
370
|
-
end
|
371
|
-
Band._declared_scopes.clear
|
385
|
+
remove_scope(Band, :active)
|
372
386
|
end
|
373
387
|
|
374
388
|
let(:scope) do
|
@@ -390,10 +404,7 @@ describe Mongoid::Scopable do
|
|
390
404
|
end
|
391
405
|
|
392
406
|
after do
|
393
|
-
|
394
|
-
undef_method :tool
|
395
|
-
end
|
396
|
-
Record._declared_scopes.clear
|
407
|
+
remove_scope(Record, :tool)
|
397
408
|
end
|
398
409
|
|
399
410
|
context "when calling the scope" do
|
@@ -423,10 +434,7 @@ describe Mongoid::Scopable do
|
|
423
434
|
end
|
424
435
|
|
425
436
|
after do
|
426
|
-
|
427
|
-
undef_method :active
|
428
|
-
end
|
429
|
-
Band._declared_scopes.clear
|
437
|
+
remove_scope(Band, :active)
|
430
438
|
end
|
431
439
|
|
432
440
|
it "adds a method for the scope" do
|
@@ -461,10 +469,7 @@ describe Mongoid::Scopable do
|
|
461
469
|
end
|
462
470
|
|
463
471
|
after do
|
464
|
-
|
465
|
-
undef_method :english
|
466
|
-
end
|
467
|
-
Band._declared_scopes.clear
|
472
|
+
remove_scope(Band, :english)
|
468
473
|
end
|
469
474
|
|
470
475
|
let(:scope) do
|
@@ -527,10 +532,7 @@ describe Mongoid::Scopable do
|
|
527
532
|
config_override :scope_overwrite_exception, true
|
528
533
|
|
529
534
|
after do
|
530
|
-
|
531
|
-
undef_method :active
|
532
|
-
end
|
533
|
-
Band._declared_scopes.clear
|
535
|
+
remove_scope(Band, :active)
|
534
536
|
end
|
535
537
|
|
536
538
|
it "raises an exception" do
|
@@ -545,10 +547,7 @@ describe Mongoid::Scopable do
|
|
545
547
|
config_override :scope_overwrite_exception, false
|
546
548
|
|
547
549
|
after do
|
548
|
-
|
549
|
-
undef_method :active
|
550
|
-
end
|
551
|
-
Band._declared_scopes.clear
|
550
|
+
remove_scope(Band, :active)
|
552
551
|
end
|
553
552
|
|
554
553
|
it "raises no exception" do
|
@@ -589,10 +588,7 @@ describe Mongoid::Scopable do
|
|
589
588
|
end
|
590
589
|
|
591
590
|
after do
|
592
|
-
|
593
|
-
undef_method :active
|
594
|
-
end
|
595
|
-
Band._declared_scopes.clear
|
591
|
+
remove_scope(Band, :active)
|
596
592
|
end
|
597
593
|
|
598
594
|
let(:scope) do
|
@@ -652,11 +648,8 @@ describe Mongoid::Scopable do
|
|
652
648
|
end
|
653
649
|
|
654
650
|
after do
|
655
|
-
|
656
|
-
|
657
|
-
undef_method :named_by
|
658
|
-
end
|
659
|
-
Band._declared_scopes.clear
|
651
|
+
remove_scope(Band, :active)
|
652
|
+
remove_scope(Band, :named_by)
|
660
653
|
end
|
661
654
|
|
662
655
|
it "adds a method for the scope" do
|
@@ -698,10 +691,7 @@ describe Mongoid::Scopable do
|
|
698
691
|
end
|
699
692
|
|
700
693
|
after do
|
701
|
-
|
702
|
-
undef_method :english
|
703
|
-
end
|
704
|
-
Band._declared_scopes.clear
|
694
|
+
remove_scope(Band, :english)
|
705
695
|
end
|
706
696
|
|
707
697
|
let(:scope) do
|
@@ -775,15 +765,9 @@ describe Mongoid::Scopable do
|
|
775
765
|
end
|
776
766
|
|
777
767
|
after do
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
end
|
782
|
-
Article._declared_scopes.clear
|
783
|
-
class << Author
|
784
|
-
undef_method :author
|
785
|
-
end
|
786
|
-
Author._declared_scopes.clear
|
768
|
+
remove_scope(Article, :is_public)
|
769
|
+
remove_scope(Article, :authored)
|
770
|
+
remove_scope(Author, :author)
|
787
771
|
end
|
788
772
|
|
789
773
|
context "when calling another model's scope from within a scope" do
|
@@ -816,10 +800,7 @@ describe Mongoid::Scopable do
|
|
816
800
|
config_override :scope_overwrite_exception, true
|
817
801
|
|
818
802
|
after do
|
819
|
-
|
820
|
-
undef_method :active
|
821
|
-
end
|
822
|
-
Band._declared_scopes.clear
|
803
|
+
remove_scope(Band, :active)
|
823
804
|
end
|
824
805
|
|
825
806
|
it "raises an exception" do
|
@@ -834,10 +815,7 @@ describe Mongoid::Scopable do
|
|
834
815
|
config_override :scope_overwrite_exception, false
|
835
816
|
|
836
817
|
after do
|
837
|
-
|
838
|
-
undef_method :active
|
839
|
-
end
|
840
|
-
Band._declared_scopes.clear
|
818
|
+
remove_scope(Band, :active)
|
841
819
|
end
|
842
820
|
|
843
821
|
it "raises no exception" do
|
@@ -867,11 +845,8 @@ describe Mongoid::Scopable do
|
|
867
845
|
end
|
868
846
|
|
869
847
|
after do
|
870
|
-
|
871
|
-
|
872
|
-
undef_method :yyy
|
873
|
-
end
|
874
|
-
Band._declared_scopes.clear
|
848
|
+
remove_scope(Band, :xxx)
|
849
|
+
remove_scope(Band, :yyy)
|
875
850
|
end
|
876
851
|
|
877
852
|
let(:criteria) do
|
@@ -901,15 +876,8 @@ describe Mongoid::Scopable do
|
|
901
876
|
end
|
902
877
|
|
903
878
|
after do
|
904
|
-
|
905
|
-
|
906
|
-
end
|
907
|
-
Shape._declared_scopes.clear
|
908
|
-
|
909
|
-
class << Circle
|
910
|
-
undef_method :with_radius
|
911
|
-
end
|
912
|
-
Circle._declared_scopes.clear
|
879
|
+
remove_scope(Shape, :located_at)
|
880
|
+
remove_scope(Circle, :with_radius)
|
913
881
|
end
|
914
882
|
|
915
883
|
let(:shape_scope_keys) do
|
@@ -950,16 +918,9 @@ describe Mongoid::Scopable do
|
|
950
918
|
end
|
951
919
|
|
952
920
|
after do
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
end
|
957
|
-
Shape._declared_scopes.clear
|
958
|
-
|
959
|
-
class << Circle
|
960
|
-
undef_method :large
|
961
|
-
end
|
962
|
-
Circle._declared_scopes.clear
|
921
|
+
remove_scope(Shape, :visible)
|
922
|
+
remove_scope(Shape, :large)
|
923
|
+
remove_scope(Circle, :large)
|
963
924
|
end
|
964
925
|
|
965
926
|
it "uses subclass context for all the other used scopes" do
|
@@ -1099,9 +1060,7 @@ describe Mongoid::Scopable do
|
|
1099
1060
|
end
|
1100
1061
|
|
1101
1062
|
after do
|
1102
|
-
|
1103
|
-
undef_method :active
|
1104
|
-
end
|
1063
|
+
remove_scope(Band, :active)
|
1105
1064
|
end
|
1106
1065
|
|
1107
1066
|
let(:unscoped) do
|
@@ -1143,10 +1102,7 @@ describe Mongoid::Scopable do
|
|
1143
1102
|
end
|
1144
1103
|
|
1145
1104
|
after do
|
1146
|
-
|
1147
|
-
undef_method :skipped
|
1148
|
-
end
|
1149
|
-
Band._declared_scopes.clear
|
1105
|
+
remove_scope(Band, :skipped)
|
1150
1106
|
end
|
1151
1107
|
|
1152
1108
|
it "does not allow the default scope to be applied" do
|
@@ -1290,4 +1246,51 @@ describe Mongoid::Scopable do
|
|
1290
1246
|
end
|
1291
1247
|
end
|
1292
1248
|
end
|
1249
|
+
|
1250
|
+
describe "scoped queries" do
|
1251
|
+
context "with a default scope" do
|
1252
|
+
let(:criteria) do
|
1253
|
+
Band.where(name: "Depeche Mode")
|
1254
|
+
end
|
1255
|
+
|
1256
|
+
before do
|
1257
|
+
Band.default_scope ->{ criteria }
|
1258
|
+
Band.scope :unscoped_everyone, -> { unscoped }
|
1259
|
+
Band.scope :removed_default, -> { scoped.remove_scoping(all) }
|
1260
|
+
|
1261
|
+
Band.create name: 'Depeche Mode'
|
1262
|
+
Band.create name: 'They Might Be Giants'
|
1263
|
+
end
|
1264
|
+
|
1265
|
+
after do
|
1266
|
+
Band.default_scoping = nil
|
1267
|
+
remove_scope Band, :unscoped_everyone
|
1268
|
+
remove_scope Band, :removed_default
|
1269
|
+
end
|
1270
|
+
|
1271
|
+
context "when allow_scopes_to_unset_default_scope == false" do # default for <= 9
|
1272
|
+
config_override :allow_scopes_to_unset_default_scope, false
|
1273
|
+
|
1274
|
+
it 'merges the default scope into the query with unscoped' do
|
1275
|
+
expect(Band.unscoped_everyone.selector).to include('name' => 'Depeche Mode')
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
it 'merges the default scope into the query with remove_scoping' do
|
1279
|
+
expect(Band.removed_default.selector).to include('name' => 'Depeche Mode')
|
1280
|
+
end
|
1281
|
+
end
|
1282
|
+
|
1283
|
+
context "when allow_scopes_to_unset_default_scope == true" do # default for >= 10
|
1284
|
+
config_override :allow_scopes_to_unset_default_scope, true
|
1285
|
+
|
1286
|
+
it 'does not merge the default scope into the query with unscoped' do
|
1287
|
+
expect(Band.unscoped_everyone.selector).not_to include('name' => 'Depeche Mode')
|
1288
|
+
end
|
1289
|
+
|
1290
|
+
it 'does not merge merges the default scope into the query with remove_scoping' do
|
1291
|
+
expect(Band.removed_default.selector).not_to include('name' => 'Depeche Mode')
|
1292
|
+
end
|
1293
|
+
end
|
1294
|
+
end
|
1295
|
+
end
|
1293
1296
|
end
|
@@ -733,6 +733,81 @@ describe Mongoid::Touchable do
|
|
733
733
|
end
|
734
734
|
end
|
735
735
|
|
736
|
+
context "when a custom field is specified" do
|
737
|
+
|
738
|
+
shared_examples "updates the child's updated_at" do
|
739
|
+
|
740
|
+
let!(:start_time) { Timecop.freeze(Time.at(Time.now.to_i)) }
|
741
|
+
|
742
|
+
let(:update_time) { Timecop.freeze(Time.at(Time.now.to_i) + 2) }
|
743
|
+
|
744
|
+
after do
|
745
|
+
Timecop.return
|
746
|
+
end
|
747
|
+
|
748
|
+
let!(:label) do
|
749
|
+
TouchableSpec::Referenced::Label.create!
|
750
|
+
end
|
751
|
+
|
752
|
+
let(:band) do
|
753
|
+
TouchableSpec::Referenced::Band.create!(label: label)
|
754
|
+
end
|
755
|
+
|
756
|
+
before do
|
757
|
+
update_time
|
758
|
+
band.send(meth)
|
759
|
+
end
|
760
|
+
|
761
|
+
it "updates the child's timestamp" do
|
762
|
+
expect(band.updated_at).to eq(update_time)
|
763
|
+
expect(band.reload.updated_at).to eq(update_time)
|
764
|
+
end
|
765
|
+
end
|
766
|
+
|
767
|
+
shared_examples "updates the parent's custom field and updated_at" do
|
768
|
+
|
769
|
+
let!(:start_time) { Timecop.freeze(Time.at(Time.now.to_i)) }
|
770
|
+
|
771
|
+
let(:update_time) { Timecop.freeze(Time.at(Time.now.to_i) + 2) }
|
772
|
+
|
773
|
+
after do
|
774
|
+
Timecop.return
|
775
|
+
end
|
776
|
+
|
777
|
+
let!(:label) do
|
778
|
+
TouchableSpec::Referenced::Label.create!
|
779
|
+
end
|
780
|
+
|
781
|
+
let!(:band) do
|
782
|
+
TouchableSpec::Referenced::Band.create!(label: label)
|
783
|
+
end
|
784
|
+
|
785
|
+
before do
|
786
|
+
update_time
|
787
|
+
band.send(meth)
|
788
|
+
end
|
789
|
+
|
790
|
+
it "updates the parent's custom field" do
|
791
|
+
expect(label.bands_updated_at).to eq(update_time)
|
792
|
+
expect(label.reload.bands_updated_at).to eq(update_time)
|
793
|
+
end
|
794
|
+
|
795
|
+
it "updates the parent's timestamp" do
|
796
|
+
expect(label.updated_at).to eq(update_time)
|
797
|
+
expect(label.reload.updated_at).to eq(update_time)
|
798
|
+
end
|
799
|
+
|
800
|
+
end
|
801
|
+
|
802
|
+
[:save, :destroy, :touch].each do |meth|
|
803
|
+
context "with #{meth} on referenced associations" do
|
804
|
+
let(:meth) { meth }
|
805
|
+
include_examples "updates the child's updated_at" unless meth == :destroy
|
806
|
+
include_examples "updates the parent's custom field and updated_at"
|
807
|
+
end
|
808
|
+
end
|
809
|
+
end
|
810
|
+
|
736
811
|
context 'multi-level' do
|
737
812
|
|
738
813
|
let!(:start_time) { Timecop.freeze(Time.at(Time.now.to_i)) }
|
@@ -150,5 +150,21 @@ module TouchableSpec
|
|
150
150
|
|
151
151
|
embedded_in :floor, touch: true, class_name: "TouchableSpec::Referenced::Floor"
|
152
152
|
end
|
153
|
+
|
154
|
+
class Label
|
155
|
+
include Mongoid::Document
|
156
|
+
include Mongoid::Timestamps
|
157
|
+
|
158
|
+
field :bands_updated_at, type: DateTime
|
159
|
+
has_many :bands, class_name: "TouchableSpec::Referenced::Band"
|
160
|
+
end
|
161
|
+
|
162
|
+
class Band
|
163
|
+
include Mongoid::Document
|
164
|
+
include Mongoid::Timestamps
|
165
|
+
|
166
|
+
belongs_to :label, touch: :bands_updated_at, class_name: "TouchableSpec::Referenced::Label"
|
167
|
+
end
|
168
|
+
|
153
169
|
end
|
154
170
|
end
|
data/spec/support/models/band.rb
CHANGED
@@ -5,6 +5,8 @@ class LatLng
|
|
5
5
|
attr_accessor :lat, :lng
|
6
6
|
|
7
7
|
def self.demongoize(object)
|
8
|
+
return if object.nil?
|
9
|
+
|
8
10
|
LatLng.new(object[1], object[0])
|
9
11
|
end
|
10
12
|
|
@@ -15,4 +17,8 @@ class LatLng
|
|
15
17
|
def mongoize
|
16
18
|
[ lng, lat ]
|
17
19
|
end
|
20
|
+
|
21
|
+
def ==(other)
|
22
|
+
lat == other.lat && lng == other.lng
|
23
|
+
end
|
18
24
|
end
|
metadata
CHANGED
@@ -1,41 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.0.
|
4
|
+
version: 9.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The MongoDB Ruby Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMREwDwYDVQQDDAhkYngt
|
14
|
-
cnVieTEXMBUGCgmSJomT8ixkARkWB21vbmdvZGIxEzARBgoJkiaJk/IsZAEZFgNj
|
15
|
-
b20wHhcNMjQwMjA5MTc0NzIyWhcNMjUwMjA4MTc0NzIyWjBBMREwDwYDVQQDDAhk
|
16
|
-
YngtcnVieTEXMBUGCgmSJomT8ixkARkWB21vbmdvZGIxEzARBgoJkiaJk/IsZAEZ
|
17
|
-
FgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC0/Veq9l47cTfX
|
18
|
-
tQ+kHq2NOCwJuJGt1iXWQ/vH/yp7pZ/bLej7gPDl2CfIngAXRjM7r1FkR9ya7VAm
|
19
|
-
IneBFcVU3HhpIXWi4ByXGjBOXFD1Dfbz4C4zedIWRk/hNzXa+rQY4KPwpOwG/hZg
|
20
|
-
id+rSXWSbNlkyN97XfonweVh7JsIa9X/2JY9ADYjhCfEZF+b0+Wl7+jgwzLWb46I
|
21
|
-
0WH0bZBIZ0BbKAwUXIgvq5mQf9PzukmMVYCwnkJ/P4wrHO22HuwnbMyvJuGjVwqi
|
22
|
-
j1NRp/2vjmKBFWxIfhlSXEIiqAmeEVNXzhPvTVeyo+rma+7R3Bo+4WHkcnPpXJJZ
|
23
|
-
Jd63qXMvTB0GplEcMJPztWhrJOmcxIOVoQyigEPSQT8JpzFVXby4SGioizv2eT7l
|
24
|
-
VYSiCHuc3yEDyq5M+98WGX2etbj6esYtzI3rDevpIAHPB6HQmtoJIA4dSl3gjFb+
|
25
|
-
D+YQSuB2qYu021FI9zeY9sbZyWysEXBxhwrmTk+XUV0qz+OQZkMCAwEAAaN7MHkw
|
26
|
-
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFH4nnr4tYlatU57RbExW
|
27
|
-
jG86YM5nMB8GA1UdEQQYMBaBFGRieC1ydWJ5QG1vbmdvZGIuY29tMB8GA1UdEgQY
|
28
|
-
MBaBFGRieC1ydWJ5QG1vbmdvZGIuY29tMA0GCSqGSIb3DQEBCwUAA4IBgQBKGtHA
|
29
|
-
fpi3N/BL1J5O4CBsAjtF4jHDiw2r5MwK+66NzMh3uedjgPI7MoosemLy++SB+8BR
|
30
|
-
SE8bDkb6gfDQQzrI6KSXXyqH2TbQXpY5Tac7/yqXRiu8G2qOrOj4czB/Hq7j09CV
|
31
|
-
YoH88v6hL11i5jt6jPjFh8hXYG0hDQxhi3atRz5Wwd98tUf2DSbyJXJiRgCBeZjl
|
32
|
-
rP7AnKsWMu0C+zPlL+nXtQr+nTFtkKXRWfUJMqePpBqtriQvgQ+Y1ItqYVTSLuiM
|
33
|
-
iwUMcn/rGhdCMBSaKDXdFkIveCHQE2f2WBo2EdErrcTrgEKYYdNfzcb/43j7L1kx
|
34
|
-
AUwyTtk+HFrviBynQbKN82rjbZE+5gukVea5c7idQPkqacPYsoU37DI+hTlUyJkV
|
35
|
-
dcTtfEg44lLlfNukBslfiQf54r+uWbyB0m0rDUN/py7/Ghyzt5GLBU91uCO3dGoI
|
36
|
-
55uFRHMvEcJMTDeImC/nuucPCAiEGMHggr9+NPC0tqpxjGKTo7lS7GzUFjg=
|
37
|
-
-----END CERTIFICATE-----
|
38
|
-
date: 2024-05-01 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-07-29 00:00:00.000000000 Z
|
39
12
|
dependencies:
|
40
13
|
- !ruby/object:Gem::Dependency
|
41
14
|
name: activemodel
|
@@ -305,6 +278,7 @@ files:
|
|
305
278
|
- lib/mongoid/errors/empty_config_file.rb
|
306
279
|
- lib/mongoid/errors/immutable_attribute.rb
|
307
280
|
- lib/mongoid/errors/in_memory_collation_not_supported.rb
|
281
|
+
- lib/mongoid/errors/invalid_around_callback.rb
|
308
282
|
- lib/mongoid/errors/invalid_async_query_executor.rb
|
309
283
|
- lib/mongoid/errors/invalid_auto_encryption_configuration.rb
|
310
284
|
- lib/mongoid/errors/invalid_collection.rb
|
@@ -912,29 +886,6 @@ files:
|
|
912
886
|
- spec/mongoid_spec.rb
|
913
887
|
- spec/rails/controller_extension/controller_runtime_spec.rb
|
914
888
|
- spec/rails/mongoid_spec.rb
|
915
|
-
- spec/shared/LICENSE
|
916
|
-
- spec/shared/bin/get-mongodb-download-url
|
917
|
-
- spec/shared/bin/s3-copy
|
918
|
-
- spec/shared/bin/s3-upload
|
919
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
920
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
921
|
-
- spec/shared/lib/mrss/constraints.rb
|
922
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
923
|
-
- spec/shared/lib/mrss/eg_config_utils.rb
|
924
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
925
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
926
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
927
|
-
- spec/shared/lib/mrss/session_registry.rb
|
928
|
-
- spec/shared/lib/mrss/session_registry_legacy.rb
|
929
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
930
|
-
- spec/shared/lib/mrss/utils.rb
|
931
|
-
- spec/shared/share/Dockerfile.erb
|
932
|
-
- spec/shared/share/haproxy-1.conf
|
933
|
-
- spec/shared/share/haproxy-2.conf
|
934
|
-
- spec/shared/shlib/config.sh
|
935
|
-
- spec/shared/shlib/distro.sh
|
936
|
-
- spec/shared/shlib/server.sh
|
937
|
-
- spec/shared/shlib/set_env.sh
|
938
889
|
- spec/spec_helper.rb
|
939
890
|
- spec/support/authorization.rb
|
940
891
|
- spec/support/client_registry.rb
|
@@ -1229,7 +1180,7 @@ metadata:
|
|
1229
1180
|
documentation_uri: https://www.mongodb.com/docs/mongoid/
|
1230
1181
|
homepage_uri: https://mongoid.org/
|
1231
1182
|
source_code_uri: https://github.com/mongodb/mongoid
|
1232
|
-
post_install_message:
|
1183
|
+
post_install_message:
|
1233
1184
|
rdoc_options: []
|
1234
1185
|
require_paths:
|
1235
1186
|
- lib
|
@@ -1244,8 +1195,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1244
1195
|
- !ruby/object:Gem::Version
|
1245
1196
|
version: 1.3.6
|
1246
1197
|
requirements: []
|
1247
|
-
rubygems_version: 3.
|
1248
|
-
signing_key:
|
1198
|
+
rubygems_version: 3.4.19
|
1199
|
+
signing_key:
|
1249
1200
|
specification_version: 4
|
1250
1201
|
summary: Elegant Persistence in Ruby for MongoDB.
|
1251
1202
|
test_files:
|
@@ -1655,29 +1606,6 @@ test_files:
|
|
1655
1606
|
- spec/mongoid_spec.rb
|
1656
1607
|
- spec/rails/controller_extension/controller_runtime_spec.rb
|
1657
1608
|
- spec/rails/mongoid_spec.rb
|
1658
|
-
- spec/shared/LICENSE
|
1659
|
-
- spec/shared/bin/get-mongodb-download-url
|
1660
|
-
- spec/shared/bin/s3-copy
|
1661
|
-
- spec/shared/bin/s3-upload
|
1662
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
1663
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
1664
|
-
- spec/shared/lib/mrss/constraints.rb
|
1665
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
1666
|
-
- spec/shared/lib/mrss/eg_config_utils.rb
|
1667
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
1668
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
1669
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
1670
|
-
- spec/shared/lib/mrss/session_registry.rb
|
1671
|
-
- spec/shared/lib/mrss/session_registry_legacy.rb
|
1672
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
1673
|
-
- spec/shared/lib/mrss/utils.rb
|
1674
|
-
- spec/shared/share/Dockerfile.erb
|
1675
|
-
- spec/shared/share/haproxy-1.conf
|
1676
|
-
- spec/shared/share/haproxy-2.conf
|
1677
|
-
- spec/shared/shlib/config.sh
|
1678
|
-
- spec/shared/shlib/distro.sh
|
1679
|
-
- spec/shared/shlib/server.sh
|
1680
|
-
- spec/shared/shlib/set_env.sh
|
1681
1609
|
- spec/spec_helper.rb
|
1682
1610
|
- spec/support/authorization.rb
|
1683
1611
|
- spec/support/client_registry.rb
|
checksums.yaml.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:6����K�ZP�����恦��gO��h3yL���yٍA=��Pve�����T����HߺL�*�m(F!t1�]����\
|
data/spec/shared/LICENSE
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright (c) 2020 MongoDB, Inc.
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
desired_version, arch = ARGV
|
4
|
-
if arch.nil?
|
5
|
-
STDERR.puts "Usage: get-mongodb-download-url desired-version arch"
|
6
|
-
exit 1
|
7
|
-
end
|
8
|
-
|
9
|
-
$: << File.join(File.dirname(__FILE__), '../lib')
|
10
|
-
require 'mrss/server_version_registry'
|
11
|
-
|
12
|
-
begin
|
13
|
-
puts Mrss::ServerVersionRegistry.new(desired_version, arch).download_url
|
14
|
-
rescue Mrss::ServerVersionRegistry::Error => exc
|
15
|
-
STDERR.puts "Error: #{exc}"
|
16
|
-
exit 2
|
17
|
-
end
|
data/spec/shared/bin/s3-copy
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'optparse'
|
4
|
-
require 'aws-sdk-s3'
|
5
|
-
|
6
|
-
options = {}
|
7
|
-
OptionParser.new do |opts|
|
8
|
-
opts.banner = "Usage: s3-copy options"
|
9
|
-
|
10
|
-
opts.on("-r", "--region=REGION", "AWS region to use (default us-east-1)") do |v|
|
11
|
-
options[:region] = v
|
12
|
-
end
|
13
|
-
|
14
|
-
opts.on("-p", "--param=KEY=VALUE", "Specify parameter for new files") do |v|
|
15
|
-
options[:params] ||= {}
|
16
|
-
k, v = v.split('=', 2)
|
17
|
-
options[:params][k.to_sym] = v
|
18
|
-
end
|
19
|
-
|
20
|
-
opts.on("-f", "--from=BUCKET:PATH", "Bucket name and key (or path) to copy from") do |v|
|
21
|
-
options[:from] = v
|
22
|
-
end
|
23
|
-
|
24
|
-
opts.on("-t", "--to=BUCKET:PATH", "Bucket name and key (or path) to write to (may be specified more than once)") do |v|
|
25
|
-
options[:to] ||= []
|
26
|
-
options[:to] << v
|
27
|
-
end
|
28
|
-
end.parse!
|
29
|
-
|
30
|
-
ENV['AWS_REGION'] ||= options[:region] || 'us-east-1'
|
31
|
-
|
32
|
-
bucket, key = options.fetch(:from).split(':', 2)
|
33
|
-
|
34
|
-
s3 = Aws::S3::Client.new
|
35
|
-
|
36
|
-
options.fetch(:to).each do |dest|
|
37
|
-
STDERR.puts "Copying to #{dest}"
|
38
|
-
dbucket, dkey = dest.split(':', 2)
|
39
|
-
s3.copy_object(
|
40
|
-
bucket: dbucket,
|
41
|
-
key: dkey,
|
42
|
-
copy_source: "/#{bucket}/#{key}",
|
43
|
-
**options[:params] || {},
|
44
|
-
)
|
45
|
-
end
|