mongoid 7.5.4 → 8.1.7

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 (442) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/README.md +6 -6
  4. data/Rakefile +44 -46
  5. data/lib/config/locales/en.yml +92 -43
  6. data/lib/mongoid/association/accessors.rb +44 -11
  7. data/lib/mongoid/association/bindable.rb +50 -2
  8. data/lib/mongoid/association/builders.rb +5 -3
  9. data/lib/mongoid/association/constrainable.rb +0 -1
  10. data/lib/mongoid/association/eager_loadable.rb +29 -7
  11. data/lib/mongoid/association/embedded/batchable.rb +34 -11
  12. data/lib/mongoid/association/embedded/cyclic.rb +1 -1
  13. data/lib/mongoid/association/embedded/embedded_in/binding.rb +24 -2
  14. data/lib/mongoid/association/embedded/embedded_in/buildable.rb +2 -2
  15. data/lib/mongoid/association/embedded/embedded_in/proxy.rb +4 -3
  16. data/lib/mongoid/association/embedded/embedded_in.rb +3 -2
  17. data/lib/mongoid/association/embedded/embeds_many/binding.rb +1 -0
  18. data/lib/mongoid/association/embedded/embeds_many/buildable.rb +4 -3
  19. data/lib/mongoid/association/embedded/embeds_many/proxy.rb +85 -46
  20. data/lib/mongoid/association/embedded/embeds_many.rb +2 -2
  21. data/lib/mongoid/association/embedded/embeds_one/buildable.rb +19 -5
  22. data/lib/mongoid/association/embedded/embeds_one/proxy.rb +24 -5
  23. data/lib/mongoid/association/embedded/embeds_one.rb +3 -3
  24. data/lib/mongoid/association/macros.rb +8 -1
  25. data/lib/mongoid/association/many.rb +11 -7
  26. data/lib/mongoid/association/nested/many.rb +5 -4
  27. data/lib/mongoid/association/nested/nested_buildable.rb +4 -4
  28. data/lib/mongoid/association/nested/one.rb +45 -7
  29. data/lib/mongoid/association/one.rb +2 -2
  30. data/lib/mongoid/association/options.rb +9 -9
  31. data/lib/mongoid/association/proxy.rb +15 -4
  32. data/lib/mongoid/association/referenced/auto_save.rb +4 -3
  33. data/lib/mongoid/association/referenced/belongs_to/binding.rb +1 -0
  34. data/lib/mongoid/association/referenced/belongs_to/buildable.rb +1 -1
  35. data/lib/mongoid/association/referenced/belongs_to/proxy.rb +5 -6
  36. data/lib/mongoid/association/referenced/belongs_to.rb +2 -2
  37. data/lib/mongoid/association/referenced/counter_cache.rb +10 -10
  38. data/lib/mongoid/association/referenced/eager.rb +2 -2
  39. data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +70 -13
  40. data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +6 -3
  41. data/lib/mongoid/association/referenced/has_many/enumerable.rb +22 -30
  42. data/lib/mongoid/association/referenced/has_many/proxy.rb +40 -21
  43. data/lib/mongoid/association/referenced/has_many.rb +3 -3
  44. data/lib/mongoid/association/referenced/has_one/buildable.rb +1 -1
  45. data/lib/mongoid/association/referenced/has_one/nested_builder.rb +5 -5
  46. data/lib/mongoid/association/referenced/has_one/proxy.rb +9 -12
  47. data/lib/mongoid/association/referenced/has_one.rb +3 -3
  48. data/lib/mongoid/association/referenced/syncable.rb +4 -4
  49. data/lib/mongoid/association/reflections.rb +4 -4
  50. data/lib/mongoid/association/relatable.rb +44 -10
  51. data/lib/mongoid/association.rb +5 -5
  52. data/lib/mongoid/atomic/modifiers.rb +2 -2
  53. data/lib/mongoid/atomic.rb +16 -7
  54. data/lib/mongoid/attributes/dynamic.rb +4 -4
  55. data/lib/mongoid/attributes/nested.rb +6 -6
  56. data/lib/mongoid/attributes/processing.rb +37 -6
  57. data/lib/mongoid/attributes/projector.rb +2 -2
  58. data/lib/mongoid/attributes/readonly.rb +3 -3
  59. data/lib/mongoid/attributes.rb +51 -42
  60. data/lib/mongoid/changeable.rb +147 -14
  61. data/lib/mongoid/clients/options.rb +5 -1
  62. data/lib/mongoid/clients/sessions.rb +2 -14
  63. data/lib/mongoid/clients/storage_options.rb +2 -5
  64. data/lib/mongoid/clients/validators/storage.rb +3 -15
  65. data/lib/mongoid/collection_configurable.rb +58 -0
  66. data/lib/mongoid/composable.rb +2 -0
  67. data/lib/mongoid/config/defaults.rb +60 -0
  68. data/lib/mongoid/config/options.rb +3 -0
  69. data/lib/mongoid/config/validators/async_query_executor.rb +24 -0
  70. data/lib/mongoid/config/validators/client.rb +6 -6
  71. data/lib/mongoid/config/validators.rb +1 -0
  72. data/lib/mongoid/config.rb +153 -18
  73. data/lib/mongoid/contextual/aggregable/memory.rb +24 -16
  74. data/lib/mongoid/contextual/aggregable/mongo.rb +5 -5
  75. data/lib/mongoid/contextual/aggregable/none.rb +1 -1
  76. data/lib/mongoid/contextual/atomic.rb +1 -1
  77. data/lib/mongoid/contextual/geo_near.rb +7 -7
  78. data/lib/mongoid/contextual/map_reduce.rb +2 -2
  79. data/lib/mongoid/contextual/memory.rb +285 -58
  80. data/lib/mongoid/contextual/mongo/documents_loader.rb +177 -0
  81. data/lib/mongoid/contextual/mongo.rb +540 -346
  82. data/lib/mongoid/contextual/none.rb +193 -20
  83. data/lib/mongoid/contextual/queryable.rb +1 -1
  84. data/lib/mongoid/contextual.rb +14 -2
  85. data/lib/mongoid/copyable.rb +32 -8
  86. data/lib/mongoid/criteria/findable.rb +8 -5
  87. data/lib/mongoid/criteria/includable.rb +27 -22
  88. data/lib/mongoid/criteria/marshalable.rb +10 -2
  89. data/lib/mongoid/criteria/permission.rb +1 -1
  90. data/lib/mongoid/criteria/queryable/aggregable.rb +2 -2
  91. data/lib/mongoid/criteria/queryable/extensions/array.rb +3 -16
  92. data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +25 -4
  93. data/lib/mongoid/criteria/queryable/extensions/boolean.rb +2 -2
  94. data/lib/mongoid/criteria/queryable/extensions/date.rb +6 -1
  95. data/lib/mongoid/criteria/queryable/extensions/date_time.rb +6 -1
  96. data/lib/mongoid/criteria/queryable/extensions/hash.rb +1 -17
  97. data/lib/mongoid/criteria/queryable/extensions/numeric.rb +15 -9
  98. data/lib/mongoid/criteria/queryable/extensions/object.rb +2 -1
  99. data/lib/mongoid/criteria/queryable/extensions/range.rb +13 -5
  100. data/lib/mongoid/criteria/queryable/extensions/regexp.rb +3 -3
  101. data/lib/mongoid/criteria/queryable/extensions/set.rb +1 -1
  102. data/lib/mongoid/criteria/queryable/extensions/string.rb +4 -14
  103. data/lib/mongoid/criteria/queryable/extensions/symbol.rb +4 -12
  104. data/lib/mongoid/criteria/queryable/extensions/time.rb +6 -1
  105. data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +6 -1
  106. data/lib/mongoid/criteria/queryable/key.rb +4 -4
  107. data/lib/mongoid/criteria/queryable/mergeable.rb +1 -1
  108. data/lib/mongoid/criteria/queryable/optional.rb +11 -17
  109. data/lib/mongoid/criteria/queryable/options.rb +2 -2
  110. data/lib/mongoid/criteria/queryable/pipeline.rb +1 -1
  111. data/lib/mongoid/criteria/queryable/selectable.rb +47 -38
  112. data/lib/mongoid/criteria/queryable/selector.rb +92 -7
  113. data/lib/mongoid/criteria/queryable/smash.rb +40 -7
  114. data/lib/mongoid/criteria/queryable.rb +12 -7
  115. data/lib/mongoid/criteria/scopable.rb +2 -2
  116. data/lib/mongoid/criteria/translator.rb +45 -0
  117. data/lib/mongoid/criteria.rb +20 -40
  118. data/lib/mongoid/deprecable.rb +37 -0
  119. data/lib/mongoid/deprecation.rb +25 -0
  120. data/lib/mongoid/document.rb +127 -35
  121. data/lib/mongoid/equality.rb +8 -8
  122. data/lib/mongoid/errors/create_collection_failure.rb +33 -0
  123. data/lib/mongoid/errors/document_not_found.rb +10 -6
  124. data/lib/mongoid/errors/drop_collection_failure.rb +27 -0
  125. data/lib/mongoid/errors/immutable_attribute.rb +26 -0
  126. data/lib/mongoid/errors/invalid_async_query_executor.rb +25 -0
  127. data/lib/mongoid/errors/invalid_config_option.rb +1 -1
  128. data/lib/mongoid/errors/invalid_dependent_strategy.rb +1 -1
  129. data/lib/mongoid/errors/invalid_dot_dollar_assignment.rb +23 -0
  130. data/lib/mongoid/errors/invalid_field.rb +6 -2
  131. data/lib/mongoid/errors/invalid_field_type.rb +26 -0
  132. data/lib/mongoid/errors/invalid_global_executor_concurrency.rb +22 -0
  133. data/lib/mongoid/errors/invalid_relation.rb +1 -1
  134. data/lib/mongoid/errors/invalid_relation_option.rb +1 -1
  135. data/lib/mongoid/errors/invalid_session_use.rb +1 -1
  136. data/lib/mongoid/errors/invalid_storage_options.rb +1 -1
  137. data/lib/mongoid/errors/invalid_storage_parent.rb +2 -0
  138. data/lib/mongoid/errors/mongoid_error.rb +3 -3
  139. data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +1 -1
  140. data/lib/mongoid/errors/no_client_database.rb +1 -1
  141. data/lib/mongoid/errors/no_client_hosts.rb +1 -1
  142. data/lib/mongoid/errors/readonly_attribute.rb +1 -1
  143. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +1 -1
  144. data/lib/mongoid/errors/unknown_attribute.rb +1 -1
  145. data/lib/mongoid/errors.rb +6 -3
  146. data/lib/mongoid/extensions/array.rb +9 -7
  147. data/lib/mongoid/extensions/big_decimal.rb +33 -10
  148. data/lib/mongoid/extensions/binary.rb +42 -0
  149. data/lib/mongoid/extensions/boolean.rb +8 -2
  150. data/lib/mongoid/extensions/date.rb +26 -20
  151. data/lib/mongoid/extensions/date_time.rb +1 -1
  152. data/lib/mongoid/extensions/false_class.rb +1 -1
  153. data/lib/mongoid/extensions/float.rb +7 -4
  154. data/lib/mongoid/extensions/hash.rb +38 -9
  155. data/lib/mongoid/extensions/integer.rb +7 -4
  156. data/lib/mongoid/extensions/module.rb +1 -1
  157. data/lib/mongoid/extensions/object.rb +10 -8
  158. data/lib/mongoid/extensions/range.rb +41 -10
  159. data/lib/mongoid/extensions/regexp.rb +11 -4
  160. data/lib/mongoid/extensions/set.rb +11 -4
  161. data/lib/mongoid/extensions/string.rb +11 -22
  162. data/lib/mongoid/extensions/symbol.rb +4 -15
  163. data/lib/mongoid/extensions/time.rb +29 -16
  164. data/lib/mongoid/extensions/time_with_zone.rb +1 -2
  165. data/lib/mongoid/extensions/true_class.rb +1 -1
  166. data/lib/mongoid/extensions.rb +1 -0
  167. data/lib/mongoid/factory.rb +55 -7
  168. data/lib/mongoid/fields/foreign_key.rb +11 -4
  169. data/lib/mongoid/fields/localized.rb +19 -4
  170. data/lib/mongoid/fields/standard.rb +17 -7
  171. data/lib/mongoid/fields/validators/macro.rb +3 -9
  172. data/lib/mongoid/fields.rb +142 -28
  173. data/lib/mongoid/findable.rb +54 -24
  174. data/lib/mongoid/indexable/specification.rb +2 -2
  175. data/lib/mongoid/indexable/validators/options.rb +6 -2
  176. data/lib/mongoid/interceptable.rb +186 -16
  177. data/lib/mongoid/matchable.rb +1 -1
  178. data/lib/mongoid/matcher/eq_impl.rb +1 -1
  179. data/lib/mongoid/matcher/type.rb +1 -1
  180. data/lib/mongoid/matcher.rb +48 -14
  181. data/lib/mongoid/persistable/creatable.rb +19 -9
  182. data/lib/mongoid/persistable/deletable.rb +2 -2
  183. data/lib/mongoid/persistable/destroyable.rb +1 -1
  184. data/lib/mongoid/persistable/savable.rb +14 -2
  185. data/lib/mongoid/persistable/unsettable.rb +2 -2
  186. data/lib/mongoid/persistable/updatable.rb +69 -12
  187. data/lib/mongoid/persistable/upsertable.rb +21 -2
  188. data/lib/mongoid/persistable.rb +6 -3
  189. data/lib/mongoid/persistence_context.rb +6 -4
  190. data/lib/mongoid/query_cache.rb +13 -261
  191. data/lib/mongoid/railties/controller_runtime.rb +1 -1
  192. data/lib/mongoid/railties/database.rake +7 -2
  193. data/lib/mongoid/reloadable.rb +10 -8
  194. data/lib/mongoid/scopable.rb +15 -13
  195. data/lib/mongoid/selectable.rb +1 -2
  196. data/lib/mongoid/serializable.rb +17 -13
  197. data/lib/mongoid/stateful.rb +57 -10
  198. data/lib/mongoid/tasks/database.rake +12 -0
  199. data/lib/mongoid/tasks/database.rb +20 -2
  200. data/lib/mongoid/threaded/lifecycle.rb +5 -5
  201. data/lib/mongoid/threaded.rb +42 -12
  202. data/lib/mongoid/timestamps/created.rb +1 -1
  203. data/lib/mongoid/timestamps/updated.rb +2 -2
  204. data/lib/mongoid/touchable.rb +3 -4
  205. data/lib/mongoid/traversable.rb +10 -5
  206. data/lib/mongoid/utils.rb +22 -0
  207. data/lib/mongoid/validatable/associated.rb +98 -17
  208. data/lib/mongoid/validatable/localizable.rb +1 -1
  209. data/lib/mongoid/validatable/macros.rb +5 -7
  210. data/lib/mongoid/validatable/presence.rb +2 -2
  211. data/lib/mongoid/validatable/uniqueness.rb +9 -8
  212. data/lib/mongoid/validatable.rb +17 -6
  213. data/lib/mongoid/version.rb +1 -1
  214. data/lib/mongoid/warnings.rb +19 -4
  215. data/lib/mongoid.rb +17 -3
  216. data/spec/config/mongoid.yml +16 -0
  217. data/spec/integration/app_spec.rb +24 -19
  218. data/spec/integration/associations/belongs_to_spec.rb +18 -0
  219. data/spec/integration/associations/embedded_spec.rb +15 -0
  220. data/spec/integration/associations/embeds_many_spec.rb +15 -2
  221. data/spec/integration/associations/embeds_one_spec.rb +18 -0
  222. data/spec/integration/associations/foreign_key_spec.rb +9 -0
  223. data/spec/integration/associations/has_and_belongs_to_many_spec.rb +61 -0
  224. data/spec/integration/associations/has_one_spec.rb +97 -1
  225. data/spec/integration/associations/scope_option_spec.rb +1 -1
  226. data/spec/integration/callbacks_models.rb +132 -1
  227. data/spec/integration/callbacks_spec.rb +381 -4
  228. data/spec/integration/criteria/range_spec.rb +95 -1
  229. data/spec/integration/discriminator_key_spec.rb +118 -80
  230. data/spec/integration/dots_and_dollars_spec.rb +277 -0
  231. data/spec/integration/i18n_fallbacks_spec.rb +3 -32
  232. data/spec/integration/matcher_examples_spec.rb +20 -13
  233. data/spec/integration/matcher_operator_data/type_decimal.yml +3 -2
  234. data/spec/integration/matcher_operator_spec.rb +3 -5
  235. data/spec/integration/persistence/range_field_spec.rb +350 -0
  236. data/spec/mongoid/association/counter_cache_spec.rb +1 -1
  237. data/spec/mongoid/association/depending_spec.rb +9 -9
  238. data/spec/mongoid/association/eager_spec.rb +2 -1
  239. data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +2 -1
  240. data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +54 -0
  241. data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +96 -9
  242. data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +112 -0
  243. data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +290 -65
  244. data/spec/mongoid/association/embedded/embeds_many_models.rb +37 -0
  245. data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +16 -0
  246. data/spec/mongoid/association/embedded/embeds_many_spec.rb +68 -0
  247. data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +25 -0
  248. data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +15 -2
  249. data/spec/mongoid/association/embedded/embeds_one_models.rb +19 -0
  250. data/spec/mongoid/association/embedded/embeds_one_spec.rb +28 -0
  251. data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +2 -1
  252. data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +54 -0
  253. data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +19 -0
  254. data/spec/mongoid/association/referenced/belongs_to_models.rb +11 -0
  255. data/spec/mongoid/association/referenced/belongs_to_spec.rb +4 -20
  256. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +186 -229
  257. data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +25 -0
  258. data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +35 -2
  259. data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +109 -0
  260. data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +2 -56
  261. data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +215 -177
  262. data/spec/mongoid/association/referenced/has_many_models.rb +3 -1
  263. data/spec/mongoid/association/referenced/has_many_spec.rb +25 -0
  264. data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +2 -2
  265. data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +107 -1
  266. data/spec/mongoid/association/referenced/has_one_models.rb +16 -0
  267. data/spec/mongoid/association/syncable_spec.rb +15 -1
  268. data/spec/mongoid/atomic/paths_spec.rb +0 -14
  269. data/spec/mongoid/attributes/nested_spec.rb +80 -11
  270. data/spec/mongoid/attributes/nested_spec_models.rb +48 -0
  271. data/spec/mongoid/attributes/projector_spec.rb +1 -5
  272. data/spec/mongoid/attributes_spec.rb +526 -33
  273. data/spec/mongoid/changeable_spec.rb +429 -37
  274. data/spec/mongoid/clients/factory_spec.rb +23 -30
  275. data/spec/mongoid/clients/sessions_spec.rb +0 -38
  276. data/spec/mongoid/clients_spec.rb +149 -15
  277. data/spec/mongoid/collection_configurable_spec.rb +158 -0
  278. data/spec/mongoid/config/defaults_spec.rb +160 -0
  279. data/spec/mongoid/config_spec.rb +214 -31
  280. data/spec/mongoid/contextual/aggregable/memory_spec.rb +396 -158
  281. data/spec/mongoid/contextual/aggregable/memory_table.yml +88 -0
  282. data/spec/mongoid/contextual/aggregable/memory_table_spec.rb +62 -0
  283. data/spec/mongoid/contextual/map_reduce_spec.rb +2 -16
  284. data/spec/mongoid/contextual/memory_spec.rb +850 -88
  285. data/spec/mongoid/contextual/mongo/documents_loader_spec.rb +187 -0
  286. data/spec/mongoid/contextual/mongo_spec.rb +2256 -1005
  287. data/spec/mongoid/contextual/none_spec.rb +60 -21
  288. data/spec/mongoid/copyable_spec.rb +453 -11
  289. data/spec/mongoid/criteria/findable_spec.rb +86 -210
  290. data/spec/mongoid/criteria/includable_spec.rb +1492 -0
  291. data/spec/mongoid/criteria/includable_spec_models.rb +54 -0
  292. data/spec/mongoid/criteria/marshalable_spec.rb +18 -1
  293. data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +7 -19
  294. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +134 -26
  295. data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +11 -0
  296. data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +11 -0
  297. data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -15
  298. data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +73 -7
  299. data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +4 -69
  300. data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +0 -59
  301. data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +11 -0
  302. data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +11 -0
  303. data/spec/mongoid/criteria/queryable/optional_spec.rb +15 -484
  304. data/spec/mongoid/criteria/queryable/options_spec.rb +1 -1
  305. data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +469 -0
  306. data/spec/mongoid/criteria/queryable/selectable_spec.rb +78 -86
  307. data/spec/mongoid/criteria/queryable/selector_spec.rb +15 -3
  308. data/spec/mongoid/criteria/translator_spec.rb +132 -0
  309. data/spec/mongoid/criteria_projection_spec.rb +1 -5
  310. data/spec/mongoid/criteria_spec.rb +469 -1205
  311. data/spec/mongoid/document_fields_spec.rb +173 -24
  312. data/spec/mongoid/document_spec.rb +32 -41
  313. data/spec/mongoid/errors/document_not_found_spec.rb +29 -2
  314. data/spec/mongoid/errors/invalid_field_spec.rb +1 -1
  315. data/spec/mongoid/errors/invalid_field_type_spec.rb +55 -0
  316. data/spec/mongoid/errors/mongoid_error_spec.rb +3 -1
  317. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  318. data/spec/mongoid/errors/readonly_document_spec.rb +2 -2
  319. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +1 -1
  320. data/spec/mongoid/extensions/array_spec.rb +16 -2
  321. data/spec/mongoid/extensions/big_decimal_spec.rb +712 -212
  322. data/spec/mongoid/extensions/binary_spec.rb +44 -9
  323. data/spec/mongoid/extensions/boolean_spec.rb +68 -82
  324. data/spec/mongoid/extensions/date_class_mongoize_spec.rb +7 -3
  325. data/spec/mongoid/extensions/date_spec.rb +71 -1
  326. data/spec/mongoid/extensions/date_time_spec.rb +15 -9
  327. data/spec/mongoid/extensions/float_spec.rb +53 -74
  328. data/spec/mongoid/extensions/hash_spec.rb +33 -3
  329. data/spec/mongoid/extensions/integer_spec.rb +50 -64
  330. data/spec/mongoid/extensions/range_spec.rb +255 -54
  331. data/spec/mongoid/extensions/regexp_spec.rb +58 -33
  332. data/spec/mongoid/extensions/set_spec.rb +106 -0
  333. data/spec/mongoid/extensions/string_spec.rb +53 -25
  334. data/spec/mongoid/extensions/symbol_spec.rb +18 -25
  335. data/spec/mongoid/extensions/time_spec.rb +639 -106
  336. data/spec/mongoid/extensions/time_with_zone_spec.rb +24 -83
  337. data/spec/mongoid/factory_spec.rb +61 -1
  338. data/spec/mongoid/fields/localized_spec.rb +80 -37
  339. data/spec/mongoid/fields_spec.rb +503 -87
  340. data/spec/mongoid/findable_spec.rb +450 -58
  341. data/spec/mongoid/indexable/specification_spec.rb +2 -2
  342. data/spec/mongoid/indexable_spec.rb +55 -30
  343. data/spec/mongoid/interceptable_spec.rb +824 -22
  344. data/spec/mongoid/interceptable_spec_models.rb +235 -4
  345. data/spec/mongoid/matcher/extract_attribute_spec.rb +1 -5
  346. data/spec/mongoid/mongoizable_spec.rb +285 -0
  347. data/spec/mongoid/persistable/creatable_spec.rb +2 -2
  348. data/spec/mongoid/persistable/deletable_spec.rb +28 -8
  349. data/spec/mongoid/persistable/destroyable_spec.rb +28 -8
  350. data/spec/mongoid/persistable/incrementable_spec.rb +37 -0
  351. data/spec/mongoid/persistable/logical_spec.rb +37 -0
  352. data/spec/mongoid/persistable/poppable_spec.rb +36 -0
  353. data/spec/mongoid/persistable/pullable_spec.rb +72 -0
  354. data/spec/mongoid/persistable/pushable_spec.rb +72 -0
  355. data/spec/mongoid/persistable/renamable_spec.rb +36 -0
  356. data/spec/mongoid/persistable/savable_spec.rb +96 -0
  357. data/spec/mongoid/persistable/settable_spec.rb +37 -0
  358. data/spec/mongoid/persistable/unsettable_spec.rb +36 -0
  359. data/spec/mongoid/persistable/updatable_spec.rb +20 -28
  360. data/spec/mongoid/persistable/upsertable_spec.rb +89 -1
  361. data/spec/mongoid/persistence_context_spec.rb +31 -57
  362. data/spec/mongoid/query_cache_middleware_spec.rb +0 -18
  363. data/spec/mongoid/query_cache_spec.rb +56 -215
  364. data/spec/mongoid/reloadable_spec.rb +83 -6
  365. data/spec/mongoid/scopable_spec.rb +91 -1
  366. data/spec/mongoid/serializable_spec.rb +25 -39
  367. data/spec/mongoid/shardable_spec.rb +4 -4
  368. data/spec/mongoid/stateful_spec.rb +150 -8
  369. data/spec/mongoid/tasks/database_rake_spec.rb +74 -0
  370. data/spec/mongoid/tasks/database_spec.rb +127 -0
  371. data/spec/mongoid/timestamps_spec.rb +392 -4
  372. data/spec/mongoid/timestamps_spec_models.rb +67 -0
  373. data/spec/mongoid/touchable_spec.rb +390 -2
  374. data/spec/mongoid/touchable_spec_models.rb +14 -8
  375. data/spec/mongoid/traversable_spec.rb +13 -35
  376. data/spec/mongoid/validatable/associated_spec.rb +27 -34
  377. data/spec/mongoid/validatable/presence_spec.rb +1 -1
  378. data/spec/mongoid/validatable/uniqueness_spec.rb +58 -31
  379. data/spec/mongoid/warnings_spec.rb +35 -0
  380. data/spec/mongoid_spec.rb +34 -16
  381. data/spec/rails/controller_extension/controller_runtime_spec.rb +2 -2
  382. data/spec/rails/mongoid_spec.rb +4 -16
  383. data/spec/spec_helper.rb +5 -0
  384. data/spec/support/constraints.rb +24 -0
  385. data/spec/support/immutable_ids.rb +118 -0
  386. data/spec/support/macros.rb +78 -0
  387. data/spec/support/models/artist.rb +0 -1
  388. data/spec/support/models/augmentation.rb +12 -0
  389. data/spec/support/models/band.rb +5 -0
  390. data/spec/support/models/book.rb +1 -0
  391. data/spec/support/models/building.rb +2 -0
  392. data/spec/support/models/catalog.rb +24 -0
  393. data/spec/support/models/circus.rb +3 -0
  394. data/spec/support/models/cover.rb +10 -0
  395. data/spec/support/models/fanatic.rb +8 -0
  396. data/spec/support/models/implant.rb +9 -0
  397. data/spec/support/models/label.rb +2 -0
  398. data/spec/support/models/lat_lng.rb +6 -0
  399. data/spec/support/models/name.rb +10 -0
  400. data/spec/support/models/passport.rb +9 -0
  401. data/spec/support/models/person.rb +2 -0
  402. data/spec/support/models/player.rb +2 -0
  403. data/spec/support/models/powerup.rb +12 -0
  404. data/spec/support/models/product.rb +1 -0
  405. data/spec/support/models/purse.rb +9 -0
  406. data/spec/support/models/registry.rb +1 -0
  407. data/spec/support/models/school.rb +14 -0
  408. data/spec/support/models/shield.rb +18 -0
  409. data/spec/support/models/student.rb +14 -0
  410. data/spec/support/models/weapon.rb +12 -0
  411. metadata +101 -96
  412. checksums.yaml.gz.sig +0 -0
  413. data/lib/mongoid/errors/eager_load.rb +0 -23
  414. data/lib/mongoid/errors/invalid_value.rb +0 -17
  415. data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +0 -60
  416. data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +0 -60
  417. data/spec/mongoid/errors/eager_load_spec.rb +0 -31
  418. data/spec/shared/LICENSE +0 -20
  419. data/spec/shared/bin/get-mongodb-download-url +0 -17
  420. data/spec/shared/bin/s3-copy +0 -45
  421. data/spec/shared/bin/s3-upload +0 -69
  422. data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
  423. data/spec/shared/lib/mrss/cluster_config.rb +0 -231
  424. data/spec/shared/lib/mrss/constraints.rb +0 -378
  425. data/spec/shared/lib/mrss/docker_runner.rb +0 -291
  426. data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
  427. data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
  428. data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
  429. data/spec/shared/lib/mrss/server_version_registry.rb +0 -120
  430. data/spec/shared/lib/mrss/session_registry.rb +0 -69
  431. data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
  432. data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
  433. data/spec/shared/lib/mrss/utils.rb +0 -15
  434. data/spec/shared/share/Dockerfile.erb +0 -325
  435. data/spec/shared/share/haproxy-1.conf +0 -16
  436. data/spec/shared/share/haproxy-2.conf +0 -17
  437. data/spec/shared/shlib/config.sh +0 -27
  438. data/spec/shared/shlib/distro.sh +0 -74
  439. data/spec/shared/shlib/server.sh +0 -392
  440. data/spec/shared/shlib/set_env.sh +0 -169
  441. data.tar.gz.sig +0 -0
  442. metadata.gz.sig +0 -3
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: 7.5.4
4
+ version: 8.1.7
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
- b20wHhcNMjMwMTMxMTE1NjM1WhcNMjQwMTMxMTE1NjM1WjBBMREwDwYDVQQDDAhk
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
- MBaBFGRieC1ydWJ5QG1vbmdvZGIuY29tMA0GCSqGSIb3DQEBCwUAA4IBgQAVSlgM
29
- nFDWCCNLOCqG5/Lj4U62XoALkdCI+OZ30+WrA8qiRLSL9ZEziVK9AV7ylez+sriQ
30
- m8XKZKsCN5ON4+zXw1S+6Ftz/R4zDg7nTb9Wgw8ibzsoiP6e4pRW3Fls3ZdaG4pW
31
- +qMTbae9OiSrgI2bxNTII+v+1FcbQjOlMu8HPZ3ZfXnurXPgN5GxSyyclZI1QONO
32
- HbUoKHRirZu0F7JCvQQq4EkSuLWPplRJfYEeJIYm05zhhFeEyqea2B/TTlCtXa42
33
- 84vxXsxGzumuO8F2Q9m6/p95sNhqCp0B/SkKXIrRGJ7FBzupoORNRXHviS2OC3ty
34
- 4lwUzOlLTF/yO0wwYYfmtQOALQwKnW838vbYthMXvTjxB0EgVZ5PKto99WbjsXzy
35
- wkeAWhd5b+5JS0zgDL4SvGB8/W2IY+y0zELkojBMgJPyrpAWHL/WSsSBMuhyI2Pv
36
- xxaBVLklnJJ/qCCOZ3lG2MyVc/Nb0Mmq8ygWNsfwHmKKYuuWcviit0D0Tek=
37
- -----END CERTIFICATE-----
38
- date: 2023-08-24 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2024-11-12 00:00:00.000000000 Z
39
12
  dependencies:
40
13
  - !ruby/object:Gem::Dependency
41
14
  name: activemodel
@@ -46,7 +19,7 @@ dependencies:
46
19
  version: '5.1'
47
20
  - - "<"
48
21
  - !ruby/object:Gem::Version
49
- version: '7.1'
22
+ version: '8.1'
50
23
  - - "!="
51
24
  - !ruby/object:Gem::Version
52
25
  version: 7.0.0
@@ -59,7 +32,7 @@ dependencies:
59
32
  version: '5.1'
60
33
  - - "<"
61
34
  - !ruby/object:Gem::Version
62
- version: '7.1'
35
+ version: '8.1'
63
36
  - - "!="
64
37
  - !ruby/object:Gem::Version
65
38
  version: 7.0.0
@@ -69,7 +42,7 @@ dependencies:
69
42
  requirements:
70
43
  - - ">="
71
44
  - !ruby/object:Gem::Version
72
- version: 2.10.5
45
+ version: 2.18.0
73
46
  - - "<"
74
47
  - !ruby/object:Gem::Version
75
48
  version: 3.0.0
@@ -79,10 +52,30 @@ dependencies:
79
52
  requirements:
80
53
  - - ">="
81
54
  - !ruby/object:Gem::Version
82
- version: 2.10.5
55
+ version: 2.18.0
83
56
  - - "<"
84
57
  - !ruby/object:Gem::Version
85
58
  version: 3.0.0
59
+ - !ruby/object:Gem::Dependency
60
+ name: concurrent-ruby
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 1.0.5
66
+ - - "<"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.5
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.0'
86
79
  - !ruby/object:Gem::Dependency
87
80
  name: ruby2_keywords
88
81
  requirement: !ruby/object:Gem::Requirement
@@ -103,7 +96,7 @@ dependencies:
103
96
  requirements:
104
97
  - - ">="
105
98
  - !ruby/object:Gem::Version
106
- version: 4.9.4
99
+ version: 4.14.0
107
100
  - - "<"
108
101
  - !ruby/object:Gem::Version
109
102
  version: 5.0.0
@@ -113,7 +106,7 @@ dependencies:
113
106
  requirements:
114
107
  - - ">="
115
108
  - !ruby/object:Gem::Version
116
- version: 4.9.4
109
+ version: 4.14.0
117
110
  - - "<"
118
111
  - !ruby/object:Gem::Version
119
112
  version: 5.0.0
@@ -213,11 +206,14 @@ files:
213
206
  - lib/mongoid/clients/storage_options.rb
214
207
  - lib/mongoid/clients/validators.rb
215
208
  - lib/mongoid/clients/validators/storage.rb
209
+ - lib/mongoid/collection_configurable.rb
216
210
  - lib/mongoid/composable.rb
217
211
  - lib/mongoid/config.rb
212
+ - lib/mongoid/config/defaults.rb
218
213
  - lib/mongoid/config/environment.rb
219
214
  - lib/mongoid/config/options.rb
220
215
  - lib/mongoid/config/validators.rb
216
+ - lib/mongoid/config/validators/async_query_executor.rb
221
217
  - lib/mongoid/config/validators/client.rb
222
218
  - lib/mongoid/config/validators/option.rb
223
219
  - lib/mongoid/contextual.rb
@@ -231,6 +227,7 @@ files:
231
227
  - lib/mongoid/contextual/map_reduce.rb
232
228
  - lib/mongoid/contextual/memory.rb
233
229
  - lib/mongoid/contextual/mongo.rb
230
+ - lib/mongoid/contextual/mongo/documents_loader.rb
234
231
  - lib/mongoid/contextual/none.rb
235
232
  - lib/mongoid/contextual/queryable.rb
236
233
  - lib/mongoid/copyable.rb
@@ -273,30 +270,39 @@ files:
273
270
  - lib/mongoid/criteria/queryable/smash.rb
274
271
  - lib/mongoid/criteria/queryable/storable.rb
275
272
  - lib/mongoid/criteria/scopable.rb
273
+ - lib/mongoid/criteria/translator.rb
274
+ - lib/mongoid/deprecable.rb
275
+ - lib/mongoid/deprecation.rb
276
276
  - lib/mongoid/document.rb
277
277
  - lib/mongoid/equality.rb
278
278
  - lib/mongoid/errors.rb
279
279
  - lib/mongoid/errors/ambiguous_relationship.rb
280
280
  - lib/mongoid/errors/callback.rb
281
+ - lib/mongoid/errors/create_collection_failure.rb
281
282
  - lib/mongoid/errors/criteria_argument_required.rb
282
283
  - lib/mongoid/errors/delete_restriction.rb
283
284
  - lib/mongoid/errors/document_not_destroyed.rb
284
285
  - lib/mongoid/errors/document_not_found.rb
285
- - lib/mongoid/errors/eager_load.rb
286
+ - lib/mongoid/errors/drop_collection_failure.rb
286
287
  - lib/mongoid/errors/empty_config_file.rb
288
+ - lib/mongoid/errors/immutable_attribute.rb
287
289
  - lib/mongoid/errors/in_memory_collation_not_supported.rb
290
+ - lib/mongoid/errors/invalid_async_query_executor.rb
288
291
  - lib/mongoid/errors/invalid_collection.rb
289
292
  - lib/mongoid/errors/invalid_config_file.rb
290
293
  - lib/mongoid/errors/invalid_config_option.rb
291
294
  - lib/mongoid/errors/invalid_dependent_strategy.rb
292
295
  - lib/mongoid/errors/invalid_discriminator_key_target.rb
296
+ - lib/mongoid/errors/invalid_dot_dollar_assignment.rb
293
297
  - lib/mongoid/errors/invalid_elem_match_operator.rb
294
298
  - lib/mongoid/errors/invalid_estimated_count_criteria.rb
295
299
  - lib/mongoid/errors/invalid_expression_operator.rb
296
300
  - lib/mongoid/errors/invalid_field.rb
297
301
  - lib/mongoid/errors/invalid_field_operator.rb
298
302
  - lib/mongoid/errors/invalid_field_option.rb
303
+ - lib/mongoid/errors/invalid_field_type.rb
299
304
  - lib/mongoid/errors/invalid_find.rb
305
+ - lib/mongoid/errors/invalid_global_executor_concurrency.rb
300
306
  - lib/mongoid/errors/invalid_includes.rb
301
307
  - lib/mongoid/errors/invalid_index.rb
302
308
  - lib/mongoid/errors/invalid_options.rb
@@ -311,7 +317,6 @@ files:
311
317
  - lib/mongoid/errors/invalid_storage_options.rb
312
318
  - lib/mongoid/errors/invalid_storage_parent.rb
313
319
  - lib/mongoid/errors/invalid_time.rb
314
- - lib/mongoid/errors/invalid_value.rb
315
320
  - lib/mongoid/errors/inverse_not_found.rb
316
321
  - lib/mongoid/errors/mixed_client_configuration.rb
317
322
  - lib/mongoid/errors/mixed_relations.rb
@@ -339,6 +344,7 @@ files:
339
344
  - lib/mongoid/extensions.rb
340
345
  - lib/mongoid/extensions/array.rb
341
346
  - lib/mongoid/extensions/big_decimal.rb
347
+ - lib/mongoid/extensions/binary.rb
342
348
  - lib/mongoid/extensions/boolean.rb
343
349
  - lib/mongoid/extensions/date.rb
344
350
  - lib/mongoid/extensions/date_time.rb
@@ -447,6 +453,7 @@ files:
447
453
  - lib/mongoid/timestamps/updated/short.rb
448
454
  - lib/mongoid/touchable.rb
449
455
  - lib/mongoid/traversable.rb
456
+ - lib/mongoid/utils.rb
450
457
  - lib/mongoid/validatable.rb
451
458
  - lib/mongoid/validatable/associated.rb
452
459
  - lib/mongoid/validatable/format.rb
@@ -475,6 +482,7 @@ files:
475
482
  - spec/integration/associations/embeds_one_spec.rb
476
483
  - spec/integration/associations/foreign_key_spec.rb
477
484
  - spec/integration/associations/foreign_key_spec_models.rb
485
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
478
486
  - spec/integration/associations/has_many_spec.rb
479
487
  - spec/integration/associations/has_one_spec.rb
480
488
  - spec/integration/associations/nested_attributes_assignment_spec.rb
@@ -495,6 +503,7 @@ files:
495
503
  - spec/integration/discriminator_key_spec.rb
496
504
  - spec/integration/discriminator_value_spec.rb
497
505
  - spec/integration/document_spec.rb
506
+ - spec/integration/dots_and_dollars_spec.rb
498
507
  - spec/integration/i18n_fallbacks_spec.rb
499
508
  - spec/integration/matcher_examples_spec.rb
500
509
  - spec/integration/matcher_operator_data/all.yml
@@ -557,6 +566,7 @@ files:
557
566
  - spec/integration/matcher_operator_data/type_undefined.yml
558
567
  - spec/integration/matcher_operator_spec.rb
559
568
  - spec/integration/matcher_spec.rb
569
+ - spec/integration/persistence/range_field_spec.rb
560
570
  - spec/integration/server_query_spec.rb
561
571
  - spec/integration/shardable_spec.rb
562
572
  - spec/integration/stringified_symbol_field_spec.rb
@@ -596,6 +606,7 @@ files:
596
606
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
597
607
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
598
608
  - spec/mongoid/association/referenced/belongs_to/proxy_spec.rb
609
+ - spec/mongoid/association/referenced/belongs_to_models.rb
599
610
  - spec/mongoid/association/referenced/belongs_to_query_spec.rb
600
611
  - spec/mongoid/association/referenced/belongs_to_spec.rb
601
612
  - spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb
@@ -633,6 +644,7 @@ files:
633
644
  - spec/mongoid/atomic_spec.rb
634
645
  - spec/mongoid/attributes/dynamic_spec.rb
635
646
  - spec/mongoid/attributes/nested_spec.rb
647
+ - spec/mongoid/attributes/nested_spec_models.rb
636
648
  - spec/mongoid/attributes/projector_data/embedded.yml
637
649
  - spec/mongoid/attributes/projector_data/fields.yml
638
650
  - spec/mongoid/attributes/projector_spec.rb
@@ -645,22 +657,29 @@ files:
645
657
  - spec/mongoid/clients/sessions_spec.rb
646
658
  - spec/mongoid/clients/transactions_spec.rb
647
659
  - spec/mongoid/clients_spec.rb
660
+ - spec/mongoid/collection_configurable_spec.rb
648
661
  - spec/mongoid/composable_spec.rb
662
+ - spec/mongoid/config/defaults_spec.rb
649
663
  - spec/mongoid/config/environment_spec.rb
650
664
  - spec/mongoid/config/options_spec.rb
651
665
  - spec/mongoid/config_spec.rb
652
666
  - spec/mongoid/contextual/aggregable/memory_spec.rb
667
+ - spec/mongoid/contextual/aggregable/memory_table.yml
668
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
653
669
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
654
670
  - spec/mongoid/contextual/aggregable/none_spec.rb
655
671
  - spec/mongoid/contextual/atomic_spec.rb
656
672
  - spec/mongoid/contextual/geo_near_spec.rb
657
673
  - spec/mongoid/contextual/map_reduce_spec.rb
658
674
  - spec/mongoid/contextual/memory_spec.rb
675
+ - spec/mongoid/contextual/mongo/documents_loader_spec.rb
659
676
  - spec/mongoid/contextual/mongo_spec.rb
660
677
  - spec/mongoid/contextual/none_spec.rb
661
678
  - spec/mongoid/copyable_spec.rb
662
679
  - spec/mongoid/copyable_spec_models.rb
663
680
  - spec/mongoid/criteria/findable_spec.rb
681
+ - spec/mongoid/criteria/includable_spec.rb
682
+ - spec/mongoid/criteria/includable_spec_models.rb
664
683
  - spec/mongoid/criteria/inspectable_spec.rb
665
684
  - spec/mongoid/criteria/marshalable_spec.rb
666
685
  - spec/mongoid/criteria/modifiable_spec.rb
@@ -669,11 +688,9 @@ files:
669
688
  - spec/mongoid/criteria/queryable/expandable_spec.rb
670
689
  - spec/mongoid/criteria/queryable/extensions/array_spec.rb
671
690
  - spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb
672
- - spec/mongoid/criteria/queryable/extensions/bignum_spec.rb
673
691
  - spec/mongoid/criteria/queryable/extensions/boolean_spec.rb
674
692
  - spec/mongoid/criteria/queryable/extensions/date_spec.rb
675
693
  - spec/mongoid/criteria/queryable/extensions/date_time_spec.rb
676
- - spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb
677
694
  - spec/mongoid/criteria/queryable/extensions/float_spec.rb
678
695
  - spec/mongoid/criteria/queryable/extensions/hash_spec.rb
679
696
  - spec/mongoid/criteria/queryable/extensions/integer_spec.rb
@@ -702,6 +719,7 @@ files:
702
719
  - spec/mongoid/criteria/queryable/smash_spec.rb
703
720
  - spec/mongoid/criteria/queryable/storable_spec.rb
704
721
  - spec/mongoid/criteria/scopable_spec.rb
722
+ - spec/mongoid/criteria/translator_spec.rb
705
723
  - spec/mongoid/criteria_projection_spec.rb
706
724
  - spec/mongoid/criteria_spec.rb
707
725
  - spec/mongoid/document_fields_spec.rb
@@ -714,12 +732,12 @@ files:
714
732
  - spec/mongoid/errors/delete_restriction_spec.rb
715
733
  - spec/mongoid/errors/document_not_destroyed_spec.rb
716
734
  - spec/mongoid/errors/document_not_found_spec.rb
717
- - spec/mongoid/errors/eager_load_spec.rb
718
735
  - spec/mongoid/errors/invalid_collection_spec.rb
719
736
  - spec/mongoid/errors/invalid_config_file_spec.rb
720
737
  - spec/mongoid/errors/invalid_config_option_spec.rb
721
738
  - spec/mongoid/errors/invalid_field_option_spec.rb
722
739
  - spec/mongoid/errors/invalid_field_spec.rb
740
+ - spec/mongoid/errors/invalid_field_type_spec.rb
723
741
  - spec/mongoid/errors/invalid_find_spec.rb
724
742
  - spec/mongoid/errors/invalid_includes_spec.rb
725
743
  - spec/mongoid/errors/invalid_index_spec.rb
@@ -792,6 +810,7 @@ files:
792
810
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
793
811
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
794
812
  - spec/mongoid/matcher/extract_attribute_spec.rb
813
+ - spec/mongoid/mongoizable_spec.rb
795
814
  - spec/mongoid/persistable/creatable_spec.rb
796
815
  - spec/mongoid/persistable/deletable_spec.rb
797
816
  - spec/mongoid/persistable/destroyable_spec.rb
@@ -828,6 +847,7 @@ files:
828
847
  - spec/mongoid/timestamps/updated/short_spec.rb
829
848
  - spec/mongoid/timestamps/updated_spec.rb
830
849
  - spec/mongoid/timestamps_spec.rb
850
+ - spec/mongoid/timestamps_spec_models.rb
831
851
  - spec/mongoid/touchable_spec.rb
832
852
  - spec/mongoid/touchable_spec_models.rb
833
853
  - spec/mongoid/traversable_spec.rb
@@ -838,38 +858,17 @@ files:
838
858
  - spec/mongoid/validatable/presence_spec.rb
839
859
  - spec/mongoid/validatable/uniqueness_spec.rb
840
860
  - spec/mongoid/validatable_spec.rb
861
+ - spec/mongoid/warnings_spec.rb
841
862
  - spec/mongoid_spec.rb
842
863
  - spec/rails/controller_extension/controller_runtime_spec.rb
843
864
  - spec/rails/mongoid_spec.rb
844
- - spec/shared/LICENSE
845
- - spec/shared/bin/get-mongodb-download-url
846
- - spec/shared/bin/s3-copy
847
- - spec/shared/bin/s3-upload
848
- - spec/shared/lib/mrss/child_process_helper.rb
849
- - spec/shared/lib/mrss/cluster_config.rb
850
- - spec/shared/lib/mrss/constraints.rb
851
- - spec/shared/lib/mrss/docker_runner.rb
852
- - spec/shared/lib/mrss/eg_config_utils.rb
853
- - spec/shared/lib/mrss/event_subscriber.rb
854
- - spec/shared/lib/mrss/lite_constraints.rb
855
- - spec/shared/lib/mrss/server_version_registry.rb
856
- - spec/shared/lib/mrss/session_registry.rb
857
- - spec/shared/lib/mrss/session_registry_legacy.rb
858
- - spec/shared/lib/mrss/spec_organizer.rb
859
- - spec/shared/lib/mrss/utils.rb
860
- - spec/shared/share/Dockerfile.erb
861
- - spec/shared/share/haproxy-1.conf
862
- - spec/shared/share/haproxy-2.conf
863
- - spec/shared/shlib/config.sh
864
- - spec/shared/shlib/distro.sh
865
- - spec/shared/shlib/server.sh
866
- - spec/shared/shlib/set_env.sh
867
865
  - spec/spec_helper.rb
868
866
  - spec/support/authorization.rb
869
867
  - spec/support/client_registry.rb
870
868
  - spec/support/constraints.rb
871
869
  - spec/support/expectations.rb
872
870
  - spec/support/helpers.rb
871
+ - spec/support/immutable_ids.rb
873
872
  - spec/support/macros.rb
874
873
  - spec/support/models/account.rb
875
874
  - spec/support/models/acolyte.rb
@@ -914,6 +913,7 @@ files:
914
913
  - spec/support/models/canvas.rb
915
914
  - spec/support/models/car.rb
916
915
  - spec/support/models/cat.rb
916
+ - spec/support/models/catalog.rb
917
917
  - spec/support/models/category.rb
918
918
  - spec/support/models/child.rb
919
919
  - spec/support/models/child_doc.rb
@@ -932,6 +932,7 @@ files:
932
932
  - spec/support/models/cookie.rb
933
933
  - spec/support/models/country_code.rb
934
934
  - spec/support/models/courier_job.rb
935
+ - spec/support/models/cover.rb
935
936
  - spec/support/models/crate.rb
936
937
  - spec/support/models/customer.rb
937
938
  - spec/support/models/customer_address.rb
@@ -962,6 +963,7 @@ files:
962
963
  - spec/support/models/eye.rb
963
964
  - spec/support/models/eye_bowl.rb
964
965
  - spec/support/models/face.rb
966
+ - spec/support/models/fanatic.rb
965
967
  - spec/support/models/favorite.rb
966
968
  - spec/support/models/filesystem.rb
967
969
  - spec/support/models/fire_hydrant.rb
@@ -1048,6 +1050,7 @@ files:
1048
1050
  - spec/support/models/publication/review.rb
1049
1051
  - spec/support/models/purchase.rb
1050
1052
  - spec/support/models/purchased_item.rb
1053
+ - spec/support/models/purse.rb
1051
1054
  - spec/support/models/question.rb
1052
1055
  - spec/support/models/quiz.rb
1053
1056
  - spec/support/models/rating.rb
@@ -1057,6 +1060,7 @@ files:
1057
1060
  - spec/support/models/root_category.rb
1058
1061
  - spec/support/models/sandwich.rb
1059
1062
  - spec/support/models/scheduler.rb
1063
+ - spec/support/models/school.rb
1060
1064
  - spec/support/models/scribe.rb
1061
1065
  - spec/support/models/sealer.rb
1062
1066
  - spec/support/models/seat.rb
@@ -1066,6 +1070,7 @@ files:
1066
1070
  - spec/support/models/service.rb
1067
1071
  - spec/support/models/shape.rb
1068
1072
  - spec/support/models/shelf.rb
1073
+ - spec/support/models/shield.rb
1069
1074
  - spec/support/models/shipment_address.rb
1070
1075
  - spec/support/models/shipping_container.rb
1071
1076
  - spec/support/models/shipping_pack.rb
@@ -1085,6 +1090,7 @@ files:
1085
1090
  - spec/support/models/store_as_dup_test3.rb
1086
1091
  - spec/support/models/store_as_dup_test4.rb
1087
1092
  - spec/support/models/strategy.rb
1093
+ - spec/support/models/student.rb
1088
1094
  - spec/support/models/sub_item.rb
1089
1095
  - spec/support/models/subscription.rb
1090
1096
  - spec/support/models/survey.rb
@@ -1137,10 +1143,10 @@ licenses:
1137
1143
  metadata:
1138
1144
  bug_tracker_uri: https://jira.mongodb.org/projects/MONGOID
1139
1145
  changelog_uri: https://github.com/mongodb/mongoid/releases
1140
- documentation_uri: https://docs.mongodb.com/mongoid/
1146
+ documentation_uri: https://www.mongodb.com/docs/mongoid/
1141
1147
  homepage_uri: https://mongoid.org/
1142
1148
  source_code_uri: https://github.com/mongodb/mongoid
1143
- post_install_message:
1149
+ post_install_message:
1144
1150
  rdoc_options: []
1145
1151
  require_paths:
1146
1152
  - lib
@@ -1148,15 +1154,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1148
1154
  requirements:
1149
1155
  - - ">="
1150
1156
  - !ruby/object:Gem::Version
1151
- version: '2.5'
1157
+ version: '2.6'
1152
1158
  required_rubygems_version: !ruby/object:Gem::Requirement
1153
1159
  requirements:
1154
1160
  - - ">="
1155
1161
  - !ruby/object:Gem::Version
1156
1162
  version: 1.3.6
1157
1163
  requirements: []
1158
- rubygems_version: 3.4.17
1159
- signing_key:
1164
+ rubygems_version: 3.4.19
1165
+ signing_key:
1160
1166
  specification_version: 4
1161
1167
  summary: Elegant Persistence in Ruby for MongoDB.
1162
1168
  test_files:
@@ -1171,6 +1177,7 @@ test_files:
1171
1177
  - spec/integration/associations/embeds_one_spec.rb
1172
1178
  - spec/integration/associations/foreign_key_spec.rb
1173
1179
  - spec/integration/associations/foreign_key_spec_models.rb
1180
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
1174
1181
  - spec/integration/associations/has_many_spec.rb
1175
1182
  - spec/integration/associations/has_one_spec.rb
1176
1183
  - spec/integration/associations/nested_attributes_assignment_spec.rb
@@ -1191,6 +1198,7 @@ test_files:
1191
1198
  - spec/integration/discriminator_key_spec.rb
1192
1199
  - spec/integration/discriminator_value_spec.rb
1193
1200
  - spec/integration/document_spec.rb
1201
+ - spec/integration/dots_and_dollars_spec.rb
1194
1202
  - spec/integration/i18n_fallbacks_spec.rb
1195
1203
  - spec/integration/matcher_examples_spec.rb
1196
1204
  - spec/integration/matcher_operator_data/all.yml
@@ -1253,6 +1261,7 @@ test_files:
1253
1261
  - spec/integration/matcher_operator_data/type_undefined.yml
1254
1262
  - spec/integration/matcher_operator_spec.rb
1255
1263
  - spec/integration/matcher_spec.rb
1264
+ - spec/integration/persistence/range_field_spec.rb
1256
1265
  - spec/integration/server_query_spec.rb
1257
1266
  - spec/integration/shardable_spec.rb
1258
1267
  - spec/integration/stringified_symbol_field_spec.rb
@@ -1292,6 +1301,7 @@ test_files:
1292
1301
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
1293
1302
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
1294
1303
  - spec/mongoid/association/referenced/belongs_to/proxy_spec.rb
1304
+ - spec/mongoid/association/referenced/belongs_to_models.rb
1295
1305
  - spec/mongoid/association/referenced/belongs_to_query_spec.rb
1296
1306
  - spec/mongoid/association/referenced/belongs_to_spec.rb
1297
1307
  - spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb
@@ -1329,6 +1339,7 @@ test_files:
1329
1339
  - spec/mongoid/atomic_spec.rb
1330
1340
  - spec/mongoid/attributes/dynamic_spec.rb
1331
1341
  - spec/mongoid/attributes/nested_spec.rb
1342
+ - spec/mongoid/attributes/nested_spec_models.rb
1332
1343
  - spec/mongoid/attributes/projector_data/embedded.yml
1333
1344
  - spec/mongoid/attributes/projector_data/fields.yml
1334
1345
  - spec/mongoid/attributes/projector_spec.rb
@@ -1341,22 +1352,29 @@ test_files:
1341
1352
  - spec/mongoid/clients/sessions_spec.rb
1342
1353
  - spec/mongoid/clients/transactions_spec.rb
1343
1354
  - spec/mongoid/clients_spec.rb
1355
+ - spec/mongoid/collection_configurable_spec.rb
1344
1356
  - spec/mongoid/composable_spec.rb
1357
+ - spec/mongoid/config/defaults_spec.rb
1345
1358
  - spec/mongoid/config/environment_spec.rb
1346
1359
  - spec/mongoid/config/options_spec.rb
1347
1360
  - spec/mongoid/config_spec.rb
1348
1361
  - spec/mongoid/contextual/aggregable/memory_spec.rb
1362
+ - spec/mongoid/contextual/aggregable/memory_table.yml
1363
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
1349
1364
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
1350
1365
  - spec/mongoid/contextual/aggregable/none_spec.rb
1351
1366
  - spec/mongoid/contextual/atomic_spec.rb
1352
1367
  - spec/mongoid/contextual/geo_near_spec.rb
1353
1368
  - spec/mongoid/contextual/map_reduce_spec.rb
1354
1369
  - spec/mongoid/contextual/memory_spec.rb
1370
+ - spec/mongoid/contextual/mongo/documents_loader_spec.rb
1355
1371
  - spec/mongoid/contextual/mongo_spec.rb
1356
1372
  - spec/mongoid/contextual/none_spec.rb
1357
1373
  - spec/mongoid/copyable_spec.rb
1358
1374
  - spec/mongoid/copyable_spec_models.rb
1359
1375
  - spec/mongoid/criteria/findable_spec.rb
1376
+ - spec/mongoid/criteria/includable_spec.rb
1377
+ - spec/mongoid/criteria/includable_spec_models.rb
1360
1378
  - spec/mongoid/criteria/inspectable_spec.rb
1361
1379
  - spec/mongoid/criteria/marshalable_spec.rb
1362
1380
  - spec/mongoid/criteria/modifiable_spec.rb
@@ -1365,11 +1383,9 @@ test_files:
1365
1383
  - spec/mongoid/criteria/queryable/expandable_spec.rb
1366
1384
  - spec/mongoid/criteria/queryable/extensions/array_spec.rb
1367
1385
  - spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb
1368
- - spec/mongoid/criteria/queryable/extensions/bignum_spec.rb
1369
1386
  - spec/mongoid/criteria/queryable/extensions/boolean_spec.rb
1370
1387
  - spec/mongoid/criteria/queryable/extensions/date_spec.rb
1371
1388
  - spec/mongoid/criteria/queryable/extensions/date_time_spec.rb
1372
- - spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb
1373
1389
  - spec/mongoid/criteria/queryable/extensions/float_spec.rb
1374
1390
  - spec/mongoid/criteria/queryable/extensions/hash_spec.rb
1375
1391
  - spec/mongoid/criteria/queryable/extensions/integer_spec.rb
@@ -1398,6 +1414,7 @@ test_files:
1398
1414
  - spec/mongoid/criteria/queryable/smash_spec.rb
1399
1415
  - spec/mongoid/criteria/queryable/storable_spec.rb
1400
1416
  - spec/mongoid/criteria/scopable_spec.rb
1417
+ - spec/mongoid/criteria/translator_spec.rb
1401
1418
  - spec/mongoid/criteria_projection_spec.rb
1402
1419
  - spec/mongoid/criteria_spec.rb
1403
1420
  - spec/mongoid/document_fields_spec.rb
@@ -1410,12 +1427,12 @@ test_files:
1410
1427
  - spec/mongoid/errors/delete_restriction_spec.rb
1411
1428
  - spec/mongoid/errors/document_not_destroyed_spec.rb
1412
1429
  - spec/mongoid/errors/document_not_found_spec.rb
1413
- - spec/mongoid/errors/eager_load_spec.rb
1414
1430
  - spec/mongoid/errors/invalid_collection_spec.rb
1415
1431
  - spec/mongoid/errors/invalid_config_file_spec.rb
1416
1432
  - spec/mongoid/errors/invalid_config_option_spec.rb
1417
1433
  - spec/mongoid/errors/invalid_field_option_spec.rb
1418
1434
  - spec/mongoid/errors/invalid_field_spec.rb
1435
+ - spec/mongoid/errors/invalid_field_type_spec.rb
1419
1436
  - spec/mongoid/errors/invalid_find_spec.rb
1420
1437
  - spec/mongoid/errors/invalid_includes_spec.rb
1421
1438
  - spec/mongoid/errors/invalid_index_spec.rb
@@ -1488,6 +1505,7 @@ test_files:
1488
1505
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
1489
1506
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
1490
1507
  - spec/mongoid/matcher/extract_attribute_spec.rb
1508
+ - spec/mongoid/mongoizable_spec.rb
1491
1509
  - spec/mongoid/persistable/creatable_spec.rb
1492
1510
  - spec/mongoid/persistable/deletable_spec.rb
1493
1511
  - spec/mongoid/persistable/destroyable_spec.rb
@@ -1524,6 +1542,7 @@ test_files:
1524
1542
  - spec/mongoid/timestamps/updated/short_spec.rb
1525
1543
  - spec/mongoid/timestamps/updated_spec.rb
1526
1544
  - spec/mongoid/timestamps_spec.rb
1545
+ - spec/mongoid/timestamps_spec_models.rb
1527
1546
  - spec/mongoid/touchable_spec.rb
1528
1547
  - spec/mongoid/touchable_spec_models.rb
1529
1548
  - spec/mongoid/traversable_spec.rb
@@ -1534,38 +1553,17 @@ test_files:
1534
1553
  - spec/mongoid/validatable/presence_spec.rb
1535
1554
  - spec/mongoid/validatable/uniqueness_spec.rb
1536
1555
  - spec/mongoid/validatable_spec.rb
1556
+ - spec/mongoid/warnings_spec.rb
1537
1557
  - spec/mongoid_spec.rb
1538
1558
  - spec/rails/controller_extension/controller_runtime_spec.rb
1539
1559
  - spec/rails/mongoid_spec.rb
1540
- - spec/shared/LICENSE
1541
- - spec/shared/bin/get-mongodb-download-url
1542
- - spec/shared/bin/s3-copy
1543
- - spec/shared/bin/s3-upload
1544
- - spec/shared/lib/mrss/child_process_helper.rb
1545
- - spec/shared/lib/mrss/cluster_config.rb
1546
- - spec/shared/lib/mrss/constraints.rb
1547
- - spec/shared/lib/mrss/docker_runner.rb
1548
- - spec/shared/lib/mrss/eg_config_utils.rb
1549
- - spec/shared/lib/mrss/event_subscriber.rb
1550
- - spec/shared/lib/mrss/lite_constraints.rb
1551
- - spec/shared/lib/mrss/server_version_registry.rb
1552
- - spec/shared/lib/mrss/session_registry.rb
1553
- - spec/shared/lib/mrss/session_registry_legacy.rb
1554
- - spec/shared/lib/mrss/spec_organizer.rb
1555
- - spec/shared/lib/mrss/utils.rb
1556
- - spec/shared/share/Dockerfile.erb
1557
- - spec/shared/share/haproxy-1.conf
1558
- - spec/shared/share/haproxy-2.conf
1559
- - spec/shared/shlib/config.sh
1560
- - spec/shared/shlib/distro.sh
1561
- - spec/shared/shlib/server.sh
1562
- - spec/shared/shlib/set_env.sh
1563
1560
  - spec/spec_helper.rb
1564
1561
  - spec/support/authorization.rb
1565
1562
  - spec/support/client_registry.rb
1566
1563
  - spec/support/constraints.rb
1567
1564
  - spec/support/expectations.rb
1568
1565
  - spec/support/helpers.rb
1566
+ - spec/support/immutable_ids.rb
1569
1567
  - spec/support/macros.rb
1570
1568
  - spec/support/models/account.rb
1571
1569
  - spec/support/models/acolyte.rb
@@ -1610,6 +1608,7 @@ test_files:
1610
1608
  - spec/support/models/canvas.rb
1611
1609
  - spec/support/models/car.rb
1612
1610
  - spec/support/models/cat.rb
1611
+ - spec/support/models/catalog.rb
1613
1612
  - spec/support/models/category.rb
1614
1613
  - spec/support/models/child.rb
1615
1614
  - spec/support/models/child_doc.rb
@@ -1628,6 +1627,7 @@ test_files:
1628
1627
  - spec/support/models/cookie.rb
1629
1628
  - spec/support/models/country_code.rb
1630
1629
  - spec/support/models/courier_job.rb
1630
+ - spec/support/models/cover.rb
1631
1631
  - spec/support/models/crate.rb
1632
1632
  - spec/support/models/customer.rb
1633
1633
  - spec/support/models/customer_address.rb
@@ -1658,6 +1658,7 @@ test_files:
1658
1658
  - spec/support/models/eye.rb
1659
1659
  - spec/support/models/eye_bowl.rb
1660
1660
  - spec/support/models/face.rb
1661
+ - spec/support/models/fanatic.rb
1661
1662
  - spec/support/models/favorite.rb
1662
1663
  - spec/support/models/filesystem.rb
1663
1664
  - spec/support/models/fire_hydrant.rb
@@ -1744,6 +1745,7 @@ test_files:
1744
1745
  - spec/support/models/publication.rb
1745
1746
  - spec/support/models/purchase.rb
1746
1747
  - spec/support/models/purchased_item.rb
1748
+ - spec/support/models/purse.rb
1747
1749
  - spec/support/models/question.rb
1748
1750
  - spec/support/models/quiz.rb
1749
1751
  - spec/support/models/rating.rb
@@ -1753,6 +1755,7 @@ test_files:
1753
1755
  - spec/support/models/root_category.rb
1754
1756
  - spec/support/models/sandwich.rb
1755
1757
  - spec/support/models/scheduler.rb
1758
+ - spec/support/models/school.rb
1756
1759
  - spec/support/models/scribe.rb
1757
1760
  - spec/support/models/sealer.rb
1758
1761
  - spec/support/models/seat.rb
@@ -1762,6 +1765,7 @@ test_files:
1762
1765
  - spec/support/models/service.rb
1763
1766
  - spec/support/models/shape.rb
1764
1767
  - spec/support/models/shelf.rb
1768
+ - spec/support/models/shield.rb
1765
1769
  - spec/support/models/shipment_address.rb
1766
1770
  - spec/support/models/shipping_container.rb
1767
1771
  - spec/support/models/shipping_pack.rb
@@ -1781,6 +1785,7 @@ test_files:
1781
1785
  - spec/support/models/store_as_dup_test3.rb
1782
1786
  - spec/support/models/store_as_dup_test4.rb
1783
1787
  - spec/support/models/strategy.rb
1788
+ - spec/support/models/student.rb
1784
1789
  - spec/support/models/sub_item.rb
1785
1790
  - spec/support/models/subscription.rb
1786
1791
  - spec/support/models/survey.rb
checksums.yaml.gz.sig DELETED
Binary file