mongoid 8.0.11 → 8.0.13

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/lib/config/locales/en.yml +26 -0
  3. data/lib/mongoid/association/depending.rb +8 -4
  4. data/lib/mongoid/association/nested/many.rb +38 -3
  5. data/lib/mongoid/association/nested/nested_buildable.rb +14 -0
  6. data/lib/mongoid/association/referenced/has_many/proxy.rb +100 -1
  7. data/lib/mongoid/clients/factory.rb +4 -0
  8. data/lib/mongoid/config.rb +62 -0
  9. data/lib/mongoid/contextual/aggregable/memory.rb +5 -2
  10. data/lib/mongoid/contextual/memory.rb +18 -7
  11. data/lib/mongoid/criteria/queryable/mergeable.rb +12 -0
  12. data/lib/mongoid/criteria/queryable/selectable.rb +109 -0
  13. data/lib/mongoid/errors/in_memory_regexp_timeout.rb +26 -0
  14. data/lib/mongoid/errors.rb +1 -0
  15. data/lib/mongoid/extensions/hash.rb +27 -1
  16. data/lib/mongoid/field_readable.rb +70 -0
  17. data/lib/mongoid/matchable.rb +6 -1
  18. data/lib/mongoid/matcher/eq_impl_with_regexp.rb +3 -5
  19. data/lib/mongoid/matcher/regex.rb +8 -9
  20. data/lib/mongoid/matcher/regexp_budget.rb +389 -0
  21. data/lib/mongoid/matcher.rb +1 -0
  22. data/lib/mongoid/threaded.rb +3 -0
  23. data/lib/mongoid/version.rb +1 -1
  24. data/lib/mongoid/warnings.rb +1 -0
  25. data/spec/integration/app_spec.rb +8 -0
  26. data/spec/integration/associations/has_and_belongs_to_many_spec.rb +17 -2
  27. data/spec/integration/dots_and_dollars_spec.rb +12 -2
  28. data/spec/integration/matcher_operator_data/regex.yml +21 -0
  29. data/spec/integration/matcher_regexp_timeout_spec.rb +215 -0
  30. data/spec/integration/query_operator_guard_spec.rb +89 -0
  31. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +48 -0
  32. data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +145 -0
  33. data/spec/mongoid/attributes/nested_spec.rb +204 -10
  34. data/spec/mongoid/clients/factory_spec.rb +30 -0
  35. data/spec/mongoid/contextual/aggregable/memory_spec.rb +91 -0
  36. data/spec/mongoid/contextual/memory_spec.rb +177 -0
  37. data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +2 -1
  38. data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +2 -1
  39. data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +2 -0
  40. data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +235 -0
  41. data/spec/mongoid/criteria_spec.rb +2 -0
  42. data/spec/mongoid/extensions/hash_spec.rb +236 -0
  43. data/spec/mongoid/matcher/regexp_budget_spec.rb +570 -0
  44. data/spec/shared/CANDIDATE.md +28 -0
  45. data/spec/shared/lib/mrss/spec_organizer.rb +32 -3
  46. data/spec/shared/shlib/server.sh +1 -1
  47. metadata +13 -2
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: 8.0.11
4
+ version: 8.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - The MongoDB Ruby Team
@@ -259,6 +259,7 @@ files:
259
259
  - lib/mongoid/errors/document_not_found.rb
260
260
  - lib/mongoid/errors/empty_config_file.rb
261
261
  - lib/mongoid/errors/in_memory_collation_not_supported.rb
262
+ - lib/mongoid/errors/in_memory_regexp_timeout.rb
262
263
  - lib/mongoid/errors/invalid_collection.rb
263
264
  - lib/mongoid/errors/invalid_config_file.rb
264
265
  - lib/mongoid/errors/invalid_config_option.rb
@@ -336,6 +337,7 @@ files:
336
337
  - lib/mongoid/extensions/time_with_zone.rb
337
338
  - lib/mongoid/extensions/true_class.rb
338
339
  - lib/mongoid/factory.rb
340
+ - lib/mongoid/field_readable.rb
339
341
  - lib/mongoid/fields.rb
340
342
  - lib/mongoid/fields/foreign_key.rb
341
343
  - lib/mongoid/fields/localized.rb
@@ -380,6 +382,7 @@ files:
380
382
  - lib/mongoid/matcher/not.rb
381
383
  - lib/mongoid/matcher/or.rb
382
384
  - lib/mongoid/matcher/regex.rb
385
+ - lib/mongoid/matcher/regexp_budget.rb
383
386
  - lib/mongoid/matcher/size.rb
384
387
  - lib/mongoid/matcher/type.rb
385
388
  - lib/mongoid/persistable.rb
@@ -535,8 +538,10 @@ files:
535
538
  - spec/integration/matcher_operator_data/type_timestamp.yml
536
539
  - spec/integration/matcher_operator_data/type_undefined.yml
537
540
  - spec/integration/matcher_operator_spec.rb
541
+ - spec/integration/matcher_regexp_timeout_spec.rb
538
542
  - spec/integration/matcher_spec.rb
539
543
  - spec/integration/persistence/range_field_spec.rb
544
+ - spec/integration/query_operator_guard_spec.rb
540
545
  - spec/integration/server_query_spec.rb
541
546
  - spec/integration/shardable_spec.rb
542
547
  - spec/integration/stringified_symbol_field_spec.rb
@@ -779,6 +784,7 @@ files:
779
784
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
780
785
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
781
786
  - spec/mongoid/matcher/extract_attribute_spec.rb
787
+ - spec/mongoid/matcher/regexp_budget_spec.rb
782
788
  - spec/mongoid/mongoizable_spec.rb
783
789
  - spec/mongoid/persistable/creatable_spec.rb
784
790
  - spec/mongoid/persistable/deletable_spec.rb
@@ -831,6 +837,7 @@ files:
831
837
  - spec/mongoid_spec.rb
832
838
  - spec/rails/controller_extension/controller_runtime_spec.rb
833
839
  - spec/rails/mongoid_spec.rb
840
+ - spec/shared/CANDIDATE.md
834
841
  - spec/shared/LICENSE
835
842
  - spec/shared/bin/get-mongodb-download-url
836
843
  - spec/shared/bin/s3-copy
@@ -1154,7 +1161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1154
1161
  - !ruby/object:Gem::Version
1155
1162
  version: 1.3.6
1156
1163
  requirements: []
1157
- rubygems_version: 3.7.1
1164
+ rubygems_version: 4.0.21
1158
1165
  specification_version: 4
1159
1166
  summary: Elegant Persistence in Ruby for MongoDB.
1160
1167
  test_files:
@@ -1252,8 +1259,10 @@ test_files:
1252
1259
  - spec/integration/matcher_operator_data/type_timestamp.yml
1253
1260
  - spec/integration/matcher_operator_data/type_undefined.yml
1254
1261
  - spec/integration/matcher_operator_spec.rb
1262
+ - spec/integration/matcher_regexp_timeout_spec.rb
1255
1263
  - spec/integration/matcher_spec.rb
1256
1264
  - spec/integration/persistence/range_field_spec.rb
1265
+ - spec/integration/query_operator_guard_spec.rb
1257
1266
  - spec/integration/server_query_spec.rb
1258
1267
  - spec/integration/shardable_spec.rb
1259
1268
  - spec/integration/stringified_symbol_field_spec.rb
@@ -1496,6 +1505,7 @@ test_files:
1496
1505
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
1497
1506
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
1498
1507
  - spec/mongoid/matcher/extract_attribute_spec.rb
1508
+ - spec/mongoid/matcher/regexp_budget_spec.rb
1499
1509
  - spec/mongoid/mongoizable_spec.rb
1500
1510
  - spec/mongoid/persistable/creatable_spec.rb
1501
1511
  - spec/mongoid/persistable/deletable_spec.rb
@@ -1548,6 +1558,7 @@ test_files:
1548
1558
  - spec/mongoid_spec.rb
1549
1559
  - spec/rails/controller_extension/controller_runtime_spec.rb
1550
1560
  - spec/rails/mongoid_spec.rb
1561
+ - spec/shared/CANDIDATE.md
1551
1562
  - spec/shared/LICENSE
1552
1563
  - spec/shared/bin/get-mongodb-download-url
1553
1564
  - spec/shared/bin/s3-copy