mongoid 7.5.0 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +3 -3
  4. data/lib/config/locales/en.yml +47 -30
  5. data/lib/mongoid/association/accessors.rb +38 -9
  6. data/lib/mongoid/association/bindable.rb +50 -2
  7. data/lib/mongoid/association/builders.rb +4 -2
  8. data/lib/mongoid/association/constrainable.rb +0 -1
  9. data/lib/mongoid/association/eager_loadable.rb +29 -7
  10. data/lib/mongoid/association/embedded/batchable.rb +53 -13
  11. data/lib/mongoid/association/embedded/cyclic.rb +1 -1
  12. data/lib/mongoid/association/embedded/embedded_in/binding.rb +24 -2
  13. data/lib/mongoid/association/embedded/embedded_in/proxy.rb +2 -2
  14. data/lib/mongoid/association/embedded/embedded_in.rb +3 -2
  15. data/lib/mongoid/association/embedded/embeds_many/binding.rb +1 -0
  16. data/lib/mongoid/association/embedded/embeds_many/buildable.rb +1 -1
  17. data/lib/mongoid/association/embedded/embeds_many/proxy.rb +50 -28
  18. data/lib/mongoid/association/embedded/embeds_many.rb +2 -2
  19. data/lib/mongoid/association/embedded/embeds_one/buildable.rb +18 -4
  20. data/lib/mongoid/association/embedded/embeds_one/proxy.rb +23 -4
  21. data/lib/mongoid/association/embedded/embeds_one.rb +3 -3
  22. data/lib/mongoid/association/macros.rb +2 -1
  23. data/lib/mongoid/association/many.rb +11 -7
  24. data/lib/mongoid/association/nested/many.rb +5 -4
  25. data/lib/mongoid/association/nested/nested_buildable.rb +4 -4
  26. data/lib/mongoid/association/nested/one.rb +5 -5
  27. data/lib/mongoid/association/one.rb +2 -2
  28. data/lib/mongoid/association/options.rb +9 -9
  29. data/lib/mongoid/association/proxy.rb +14 -3
  30. data/lib/mongoid/association/referenced/auto_save.rb +4 -3
  31. data/lib/mongoid/association/referenced/belongs_to/binding.rb +1 -0
  32. data/lib/mongoid/association/referenced/belongs_to/buildable.rb +1 -1
  33. data/lib/mongoid/association/referenced/belongs_to/proxy.rb +5 -6
  34. data/lib/mongoid/association/referenced/belongs_to.rb +2 -2
  35. data/lib/mongoid/association/referenced/counter_cache.rb +10 -10
  36. data/lib/mongoid/association/referenced/eager.rb +2 -2
  37. data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +66 -13
  38. data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +6 -3
  39. data/lib/mongoid/association/referenced/has_many/enumerable.rb +20 -28
  40. data/lib/mongoid/association/referenced/has_many/proxy.rb +24 -18
  41. data/lib/mongoid/association/referenced/has_many.rb +3 -3
  42. data/lib/mongoid/association/referenced/has_one/buildable.rb +1 -1
  43. data/lib/mongoid/association/referenced/has_one/nested_builder.rb +5 -5
  44. data/lib/mongoid/association/referenced/has_one/proxy.rb +9 -12
  45. data/lib/mongoid/association/referenced/has_one.rb +3 -3
  46. data/lib/mongoid/association/referenced/syncable.rb +4 -4
  47. data/lib/mongoid/association/reflections.rb +2 -2
  48. data/lib/mongoid/association/relatable.rb +44 -10
  49. data/lib/mongoid/association.rb +5 -5
  50. data/lib/mongoid/atomic/modifiers.rb +2 -2
  51. data/lib/mongoid/atomic/paths/embedded/many.rb +19 -0
  52. data/lib/mongoid/attributes/dynamic.rb +3 -3
  53. data/lib/mongoid/attributes/nested.rb +5 -5
  54. data/lib/mongoid/attributes/processing.rb +10 -3
  55. data/lib/mongoid/attributes/projector.rb +1 -1
  56. data/lib/mongoid/attributes/readonly.rb +2 -2
  57. data/lib/mongoid/attributes.rb +43 -40
  58. data/lib/mongoid/changeable.rb +42 -7
  59. data/lib/mongoid/clients/options.rb +5 -1
  60. data/lib/mongoid/clients/sessions.rb +2 -14
  61. data/lib/mongoid/clients/validators/storage.rb +3 -3
  62. data/lib/mongoid/config/validators/client.rb +6 -6
  63. data/lib/mongoid/config.rb +27 -17
  64. data/lib/mongoid/contextual/aggregable/memory.rb +24 -16
  65. data/lib/mongoid/contextual/aggregable/mongo.rb +5 -5
  66. data/lib/mongoid/contextual/aggregable/none.rb +1 -1
  67. data/lib/mongoid/contextual/atomic.rb +1 -1
  68. data/lib/mongoid/contextual/geo_near.rb +7 -7
  69. data/lib/mongoid/contextual/map_reduce.rb +2 -2
  70. data/lib/mongoid/contextual/memory.rb +59 -32
  71. data/lib/mongoid/contextual/mongo.rb +184 -256
  72. data/lib/mongoid/contextual/none.rb +34 -16
  73. data/lib/mongoid/contextual/queryable.rb +1 -1
  74. data/lib/mongoid/contextual.rb +2 -2
  75. data/lib/mongoid/copyable.rb +32 -8
  76. data/lib/mongoid/criteria/findable.rb +7 -4
  77. data/lib/mongoid/criteria/includable.rb +24 -20
  78. data/lib/mongoid/criteria/marshalable.rb +10 -2
  79. data/lib/mongoid/criteria/permission.rb +1 -1
  80. data/lib/mongoid/criteria/queryable/aggregable.rb +2 -2
  81. data/lib/mongoid/criteria/queryable/extensions/array.rb +2 -15
  82. data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +25 -4
  83. data/lib/mongoid/criteria/queryable/extensions/boolean.rb +2 -2
  84. data/lib/mongoid/criteria/queryable/extensions/date.rb +6 -1
  85. data/lib/mongoid/criteria/queryable/extensions/date_time.rb +6 -1
  86. data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -16
  87. data/lib/mongoid/criteria/queryable/extensions/numeric.rb +1 -1
  88. data/lib/mongoid/criteria/queryable/extensions/object.rb +2 -1
  89. data/lib/mongoid/criteria/queryable/extensions/range.rb +13 -5
  90. data/lib/mongoid/criteria/queryable/extensions/regexp.rb +3 -3
  91. data/lib/mongoid/criteria/queryable/extensions/set.rb +1 -1
  92. data/lib/mongoid/criteria/queryable/extensions/string.rb +3 -3
  93. data/lib/mongoid/criteria/queryable/extensions/symbol.rb +4 -2
  94. data/lib/mongoid/criteria/queryable/extensions/time.rb +6 -1
  95. data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +6 -1
  96. data/lib/mongoid/criteria/queryable/key.rb +3 -3
  97. data/lib/mongoid/criteria/queryable/optional.rb +5 -11
  98. data/lib/mongoid/criteria/queryable/options.rb +2 -2
  99. data/lib/mongoid/criteria/queryable/pipeline.rb +1 -1
  100. data/lib/mongoid/criteria/queryable/selectable.rb +5 -27
  101. data/lib/mongoid/criteria/queryable/selector.rb +92 -7
  102. data/lib/mongoid/criteria/queryable/smash.rb +40 -7
  103. data/lib/mongoid/criteria/queryable.rb +12 -7
  104. data/lib/mongoid/criteria/scopable.rb +2 -2
  105. data/lib/mongoid/criteria.rb +15 -37
  106. data/lib/mongoid/deprecable.rb +36 -0
  107. data/lib/mongoid/deprecation.rb +25 -0
  108. data/lib/mongoid/document.rb +98 -36
  109. data/lib/mongoid/equality.rb +12 -12
  110. data/lib/mongoid/errors/document_not_found.rb +10 -6
  111. data/lib/mongoid/errors/invalid_config_option.rb +1 -1
  112. data/lib/mongoid/errors/invalid_dependent_strategy.rb +1 -1
  113. data/lib/mongoid/errors/invalid_dot_dollar_assignment.rb +23 -0
  114. data/lib/mongoid/errors/invalid_field.rb +6 -2
  115. data/lib/mongoid/errors/invalid_field_type.rb +26 -0
  116. data/lib/mongoid/errors/invalid_relation.rb +1 -1
  117. data/lib/mongoid/errors/invalid_relation_option.rb +1 -1
  118. data/lib/mongoid/errors/invalid_session_use.rb +1 -1
  119. data/lib/mongoid/errors/invalid_storage_options.rb +1 -1
  120. data/lib/mongoid/errors/mongoid_error.rb +3 -3
  121. data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +1 -1
  122. data/lib/mongoid/errors/no_client_database.rb +1 -1
  123. data/lib/mongoid/errors/no_client_hosts.rb +1 -1
  124. data/lib/mongoid/errors/readonly_attribute.rb +1 -1
  125. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +1 -1
  126. data/lib/mongoid/errors/unknown_attribute.rb +1 -1
  127. data/lib/mongoid/errors.rb +2 -2
  128. data/lib/mongoid/extensions/array.rb +9 -7
  129. data/lib/mongoid/extensions/big_decimal.rb +29 -10
  130. data/lib/mongoid/extensions/binary.rb +42 -0
  131. data/lib/mongoid/extensions/boolean.rb +8 -2
  132. data/lib/mongoid/extensions/date.rb +26 -20
  133. data/lib/mongoid/extensions/date_time.rb +1 -1
  134. data/lib/mongoid/extensions/false_class.rb +1 -1
  135. data/lib/mongoid/extensions/float.rb +4 -5
  136. data/lib/mongoid/extensions/hash.rb +13 -6
  137. data/lib/mongoid/extensions/integer.rb +4 -5
  138. data/lib/mongoid/extensions/module.rb +1 -1
  139. data/lib/mongoid/extensions/object.rb +8 -6
  140. data/lib/mongoid/extensions/range.rb +41 -10
  141. data/lib/mongoid/extensions/regexp.rb +11 -4
  142. data/lib/mongoid/extensions/set.rb +11 -4
  143. data/lib/mongoid/extensions/string.rb +11 -22
  144. data/lib/mongoid/extensions/symbol.rb +4 -15
  145. data/lib/mongoid/extensions/time.rb +27 -16
  146. data/lib/mongoid/extensions/time_with_zone.rb +1 -2
  147. data/lib/mongoid/extensions/true_class.rb +1 -1
  148. data/lib/mongoid/extensions.rb +1 -0
  149. data/lib/mongoid/factory.rb +42 -7
  150. data/lib/mongoid/fields/foreign_key.rb +11 -4
  151. data/lib/mongoid/fields/localized.rb +2 -2
  152. data/lib/mongoid/fields/standard.rb +7 -7
  153. data/lib/mongoid/fields/validators/macro.rb +3 -9
  154. data/lib/mongoid/fields.rb +57 -15
  155. data/lib/mongoid/findable.rb +28 -22
  156. data/lib/mongoid/indexable/specification.rb +2 -2
  157. data/lib/mongoid/indexable/validators/options.rb +6 -2
  158. data/lib/mongoid/interceptable.rb +73 -13
  159. data/lib/mongoid/matchable.rb +1 -1
  160. data/lib/mongoid/matcher.rb +12 -7
  161. data/lib/mongoid/persistable/creatable.rb +18 -9
  162. data/lib/mongoid/persistable/deletable.rb +1 -1
  163. data/lib/mongoid/persistable/destroyable.rb +1 -1
  164. data/lib/mongoid/persistable/savable.rb +2 -2
  165. data/lib/mongoid/persistable/unsettable.rb +1 -1
  166. data/lib/mongoid/persistable/updatable.rb +19 -12
  167. data/lib/mongoid/persistable/upsertable.rb +1 -1
  168. data/lib/mongoid/persistable.rb +3 -3
  169. data/lib/mongoid/persistence_context.rb +22 -5
  170. data/lib/mongoid/query_cache.rb +8 -260
  171. data/lib/mongoid/railties/controller_runtime.rb +1 -1
  172. data/lib/mongoid/reloadable.rb +7 -3
  173. data/lib/mongoid/scopable.rb +17 -15
  174. data/lib/mongoid/selectable.rb +1 -2
  175. data/lib/mongoid/serializable.rb +10 -6
  176. data/lib/mongoid/stateful.rb +35 -9
  177. data/lib/mongoid/tasks/database.rb +0 -2
  178. data/lib/mongoid/threaded/lifecycle.rb +5 -5
  179. data/lib/mongoid/threaded.rb +9 -9
  180. data/lib/mongoid/timestamps/created.rb +1 -1
  181. data/lib/mongoid/timestamps/updated.rb +2 -2
  182. data/lib/mongoid/touchable.rb +2 -3
  183. data/lib/mongoid/traversable.rb +4 -3
  184. data/lib/mongoid/validatable/localizable.rb +1 -1
  185. data/lib/mongoid/validatable/macros.rb +0 -2
  186. data/lib/mongoid/validatable/presence.rb +2 -2
  187. data/lib/mongoid/validatable/uniqueness.rb +9 -8
  188. data/lib/mongoid/validatable.rb +6 -6
  189. data/lib/mongoid/version.rb +1 -1
  190. data/lib/mongoid/warnings.rb +3 -4
  191. data/lib/mongoid.rb +1 -0
  192. data/spec/config/mongoid.yml +16 -0
  193. data/spec/integration/app_spec.rb +8 -12
  194. data/spec/integration/associations/belongs_to_spec.rb +18 -0
  195. data/spec/integration/associations/embedded_spec.rb +15 -0
  196. data/spec/integration/associations/embeds_many_spec.rb +15 -2
  197. data/spec/integration/associations/embeds_one_spec.rb +18 -0
  198. data/spec/integration/associations/foreign_key_spec.rb +9 -0
  199. data/spec/integration/associations/has_and_belongs_to_many_spec.rb +21 -0
  200. data/spec/integration/associations/has_one_spec.rb +97 -1
  201. data/spec/integration/associations/scope_option_spec.rb +1 -1
  202. data/spec/integration/callbacks_models.rb +95 -1
  203. data/spec/integration/callbacks_spec.rb +226 -4
  204. data/spec/integration/criteria/range_spec.rb +95 -1
  205. data/spec/integration/discriminator_key_spec.rb +115 -76
  206. data/spec/integration/dots_and_dollars_spec.rb +277 -0
  207. data/spec/integration/i18n_fallbacks_spec.rb +1 -15
  208. data/spec/integration/matcher_examples_spec.rb +20 -13
  209. data/spec/integration/matcher_operator_data/type_decimal.yml +3 -2
  210. data/spec/integration/matcher_operator_spec.rb +3 -5
  211. data/spec/integration/persistence/range_field_spec.rb +350 -0
  212. data/spec/mongoid/association/counter_cache_spec.rb +1 -1
  213. data/spec/mongoid/association/depending_spec.rb +9 -9
  214. data/spec/mongoid/association/eager_spec.rb +2 -1
  215. data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +2 -1
  216. data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +54 -0
  217. data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +69 -9
  218. data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +112 -0
  219. data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +219 -8
  220. data/spec/mongoid/association/embedded/embeds_many_models.rb +157 -0
  221. data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +12 -0
  222. data/spec/mongoid/association/embedded/embeds_many_spec.rb +68 -0
  223. data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +25 -0
  224. data/spec/mongoid/association/embedded/embeds_one_models.rb +19 -0
  225. data/spec/mongoid/association/embedded/embeds_one_spec.rb +28 -0
  226. data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +2 -1
  227. data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +54 -0
  228. data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +15 -0
  229. data/spec/mongoid/association/referenced/belongs_to_models.rb +11 -0
  230. data/spec/mongoid/association/referenced/belongs_to_spec.rb +2 -2
  231. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +67 -4
  232. data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +25 -0
  233. data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +35 -2
  234. data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +109 -0
  235. data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +2 -56
  236. data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +82 -13
  237. data/spec/mongoid/association/referenced/has_many_models.rb +3 -1
  238. data/spec/mongoid/association/referenced/has_many_spec.rb +25 -0
  239. data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +2 -2
  240. data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +107 -1
  241. data/spec/mongoid/association/referenced/has_one_models.rb +16 -0
  242. data/spec/mongoid/association/syncable_spec.rb +14 -0
  243. data/spec/mongoid/atomic/paths_spec.rb +0 -14
  244. data/spec/mongoid/attributes/nested_spec.rb +80 -11
  245. data/spec/mongoid/attributes/nested_spec_models.rb +48 -0
  246. data/spec/mongoid/attributes/projector_spec.rb +1 -5
  247. data/spec/mongoid/attributes_spec.rb +524 -27
  248. data/spec/mongoid/changeable_spec.rb +130 -13
  249. data/spec/mongoid/clients/factory_spec.rb +23 -30
  250. data/spec/mongoid/clients/sessions_spec.rb +0 -38
  251. data/spec/mongoid/clients_spec.rb +32 -2
  252. data/spec/mongoid/config_spec.rb +58 -13
  253. data/spec/mongoid/contextual/aggregable/memory_spec.rb +396 -158
  254. data/spec/mongoid/contextual/aggregable/memory_table.yml +88 -0
  255. data/spec/mongoid/contextual/aggregable/memory_table_spec.rb +62 -0
  256. data/spec/mongoid/contextual/map_reduce_spec.rb +2 -16
  257. data/spec/mongoid/contextual/memory_spec.rb +521 -14
  258. data/spec/mongoid/contextual/mongo_spec.rb +564 -394
  259. data/spec/mongoid/contextual/none_spec.rb +11 -19
  260. data/spec/mongoid/copyable_spec.rb +451 -1
  261. data/spec/mongoid/criteria/findable_spec.rb +86 -210
  262. data/spec/mongoid/criteria/includable_spec.rb +1492 -0
  263. data/spec/mongoid/criteria/includable_spec_models.rb +54 -0
  264. data/spec/mongoid/criteria/marshalable_spec.rb +18 -1
  265. data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +7 -19
  266. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +134 -26
  267. data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +11 -0
  268. data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +11 -0
  269. data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -15
  270. data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +73 -7
  271. data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +11 -0
  272. data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +11 -0
  273. data/spec/mongoid/criteria/queryable/optional_spec.rb +0 -484
  274. data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +50 -0
  275. data/spec/mongoid/criteria/queryable/selectable_spec.rb +77 -85
  276. data/spec/mongoid/criteria/queryable/selector_spec.rb +14 -2
  277. data/spec/mongoid/criteria_spec.rb +469 -1201
  278. data/spec/mongoid/document_fields_spec.rb +173 -24
  279. data/spec/mongoid/document_spec.rb +32 -41
  280. data/spec/mongoid/equality_spec.rb +12 -12
  281. data/spec/mongoid/errors/document_not_found_spec.rb +29 -2
  282. data/spec/mongoid/errors/invalid_field_spec.rb +1 -1
  283. data/spec/mongoid/errors/invalid_field_type_spec.rb +55 -0
  284. data/spec/mongoid/errors/mongoid_error_spec.rb +3 -1
  285. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  286. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +1 -1
  287. data/spec/mongoid/extensions/array_spec.rb +16 -2
  288. data/spec/mongoid/extensions/big_decimal_spec.rb +697 -212
  289. data/spec/mongoid/extensions/binary_spec.rb +44 -9
  290. data/spec/mongoid/extensions/boolean_spec.rb +68 -82
  291. data/spec/mongoid/extensions/date_class_mongoize_spec.rb +7 -3
  292. data/spec/mongoid/extensions/date_spec.rb +71 -1
  293. data/spec/mongoid/extensions/date_time_spec.rb +15 -9
  294. data/spec/mongoid/extensions/float_spec.rb +48 -76
  295. data/spec/mongoid/extensions/hash_spec.rb +30 -0
  296. data/spec/mongoid/extensions/integer_spec.rb +45 -66
  297. data/spec/mongoid/extensions/range_spec.rb +255 -54
  298. data/spec/mongoid/extensions/regexp_spec.rb +58 -33
  299. data/spec/mongoid/extensions/set_spec.rb +106 -0
  300. data/spec/mongoid/extensions/string_spec.rb +53 -25
  301. data/spec/mongoid/extensions/symbol_spec.rb +18 -25
  302. data/spec/mongoid/extensions/time_spec.rb +634 -66
  303. data/spec/mongoid/extensions/time_with_zone_spec.rb +17 -31
  304. data/spec/mongoid/factory_spec.rb +61 -1
  305. data/spec/mongoid/fields_spec.rb +321 -50
  306. data/spec/mongoid/findable_spec.rb +64 -29
  307. data/spec/mongoid/indexable/specification_spec.rb +2 -2
  308. data/spec/mongoid/indexable_spec.rb +39 -20
  309. data/spec/mongoid/interceptable_spec.rb +584 -5
  310. data/spec/mongoid/interceptable_spec_models.rb +235 -4
  311. data/spec/mongoid/matcher/extract_attribute_spec.rb +1 -5
  312. data/spec/mongoid/mongoizable_spec.rb +285 -0
  313. data/spec/mongoid/persistable/creatable_spec.rb +2 -2
  314. data/spec/mongoid/persistable/deletable_spec.rb +2 -2
  315. data/spec/mongoid/persistable/destroyable_spec.rb +2 -2
  316. data/spec/mongoid/persistable/upsertable_spec.rb +14 -0
  317. data/spec/mongoid/persistence_context_spec.rb +50 -1
  318. data/spec/mongoid/query_cache_middleware_spec.rb +0 -18
  319. data/spec/mongoid/query_cache_spec.rb +0 -154
  320. data/spec/mongoid/reloadable_spec.rb +35 -2
  321. data/spec/mongoid/scopable_spec.rb +54 -16
  322. data/spec/mongoid/shardable_spec.rb +14 -0
  323. data/spec/mongoid/stateful_spec.rb +28 -0
  324. data/spec/mongoid/timestamps_spec.rb +390 -0
  325. data/spec/mongoid/timestamps_spec_models.rb +67 -0
  326. data/spec/mongoid/touchable_spec.rb +116 -0
  327. data/spec/mongoid/touchable_spec_models.rb +12 -8
  328. data/spec/mongoid/traversable_spec.rb +4 -11
  329. data/spec/mongoid/validatable/presence_spec.rb +1 -1
  330. data/spec/mongoid/validatable/uniqueness_spec.rb +60 -31
  331. data/spec/mongoid/warnings_spec.rb +35 -0
  332. data/spec/rails/controller_extension/controller_runtime_spec.rb +2 -2
  333. data/spec/rails/mongoid_spec.rb +4 -16
  334. data/spec/shared/lib/mrss/event_subscriber.rb +5 -15
  335. data/spec/support/constraints.rb +24 -0
  336. data/spec/support/macros.rb +30 -0
  337. data/spec/support/models/augmentation.rb +12 -0
  338. data/spec/support/models/band.rb +3 -0
  339. data/spec/support/models/catalog.rb +24 -0
  340. data/spec/support/models/circus.rb +3 -0
  341. data/spec/support/models/fanatic.rb +8 -0
  342. data/spec/support/models/implant.rb +9 -0
  343. data/spec/support/models/label.rb +2 -0
  344. data/spec/support/models/passport.rb +9 -0
  345. data/spec/support/models/person.rb +1 -0
  346. data/spec/support/models/player.rb +2 -0
  347. data/spec/support/models/powerup.rb +12 -0
  348. data/spec/support/models/registry.rb +1 -0
  349. data/spec/support/models/school.rb +14 -0
  350. data/spec/support/models/shield.rb +18 -0
  351. data/spec/support/models/student.rb +14 -0
  352. data/spec/support/models/weapon.rb +12 -0
  353. data.tar.gz.sig +0 -0
  354. metadata +49 -13
  355. metadata.gz.sig +0 -0
  356. data/lib/mongoid/errors/eager_load.rb +0 -23
  357. data/lib/mongoid/errors/invalid_value.rb +0 -17
  358. data/spec/mongoid/errors/eager_load_spec.rb +0 -31
@@ -10,4 +10,16 @@ class Powerup
10
10
  after_build do
11
11
  self.name = "Quad Damage (#{player.frags})"
12
12
  end
13
+
14
+ field :after_find_player
15
+ field :after_initialize_player
16
+ field :after_default_player, default: ->{ self.player&._id }
17
+
18
+ after_find do |doc|
19
+ doc.after_find_player = player&._id
20
+ end
21
+
22
+ after_initialize do |doc|
23
+ doc.after_initialize_player = player&._id
24
+ end
13
25
  end
@@ -3,4 +3,5 @@
3
3
  class Registry
4
4
  include Mongoid::Document
5
5
  field :data, type: BSON::Binary
6
+ field :obj_id, type: BSON::ObjectId
6
7
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class School
4
+ include Mongoid::Document
5
+
6
+ has_many :students
7
+
8
+ field :district, type: String
9
+ field :team, type: String
10
+
11
+ field :after_destroy_triggered, default: false
12
+
13
+ accepts_nested_attributes_for :students, allow_destroy: true
14
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ class Shield
3
+ include Mongoid::Document
4
+
5
+ has_and_belongs_to_many :players
6
+
7
+ field :after_find_player
8
+ field :after_initialize_player
9
+ field :after_default_player, default: ->{ players.first&._id }
10
+
11
+ after_find do |doc|
12
+ doc.after_find_player = players.first&._id
13
+ end
14
+
15
+ after_initialize do |doc|
16
+ doc.after_initialize_player = players.first&._id
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Student
4
+ include Mongoid::Document
5
+
6
+ belongs_to :school
7
+
8
+ field :name, type: String
9
+ field :grade, type: Integer, default: 3
10
+
11
+ after_destroy do |doc|
12
+ school.after_destroy_triggered = true if school
13
+ end
14
+ end
@@ -10,4 +10,16 @@ class Weapon
10
10
  after_build do
11
11
  self.name = "Holy Hand Grenade (#{player.frags})"
12
12
  end
13
+
14
+ field :after_find_player
15
+ field :after_initialize_player
16
+ field :after_default_player, default: ->{ self.player&._id }
17
+
18
+ after_find do |doc|
19
+ doc.after_find_player = player&._id
20
+ end
21
+
22
+ after_initialize do |doc|
23
+ doc.after_initialize_player = player&._id
24
+ end
13
25
  end
data.tar.gz.sig CHANGED
Binary file
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.5.0
4
+ version: 8.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -30,7 +30,7 @@ cert_chain:
30
30
  +WyKQ+QTIdtDiyf2LQmxWnxt/W1CmScjdLS7/yXGkkB/D9Uy+sJD747O/B9P238Q
31
31
  XnerrtyOu04RsWDvaZkCwSDVzoqfICh4CP1mlde73Ts=
32
32
  -----END CERTIFICATE-----
33
- date: 2022-07-20 00:00:00.000000000 Z
33
+ date: 2022-07-23 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: activemodel
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: 2.10.5
67
+ version: 2.18.0
68
68
  - - "<"
69
69
  - !ruby/object:Gem::Version
70
70
  version: 3.0.0
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: 2.10.5
77
+ version: 2.18.0
78
78
  - - "<"
79
79
  - !ruby/object:Gem::Version
80
80
  version: 3.0.0
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: 4.9.4
101
+ version: 4.14.0
102
102
  - - "<"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 5.0.0
@@ -108,7 +108,7 @@ dependencies:
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: 4.9.4
111
+ version: 4.14.0
112
112
  - - "<"
113
113
  - !ruby/object:Gem::Version
114
114
  version: 5.0.0
@@ -268,6 +268,8 @@ files:
268
268
  - lib/mongoid/criteria/queryable/smash.rb
269
269
  - lib/mongoid/criteria/queryable/storable.rb
270
270
  - lib/mongoid/criteria/scopable.rb
271
+ - lib/mongoid/deprecable.rb
272
+ - lib/mongoid/deprecation.rb
271
273
  - lib/mongoid/document.rb
272
274
  - lib/mongoid/equality.rb
273
275
  - lib/mongoid/errors.rb
@@ -277,7 +279,6 @@ files:
277
279
  - lib/mongoid/errors/delete_restriction.rb
278
280
  - lib/mongoid/errors/document_not_destroyed.rb
279
281
  - lib/mongoid/errors/document_not_found.rb
280
- - lib/mongoid/errors/eager_load.rb
281
282
  - lib/mongoid/errors/empty_config_file.rb
282
283
  - lib/mongoid/errors/in_memory_collation_not_supported.rb
283
284
  - lib/mongoid/errors/invalid_collection.rb
@@ -285,12 +286,14 @@ files:
285
286
  - lib/mongoid/errors/invalid_config_option.rb
286
287
  - lib/mongoid/errors/invalid_dependent_strategy.rb
287
288
  - lib/mongoid/errors/invalid_discriminator_key_target.rb
289
+ - lib/mongoid/errors/invalid_dot_dollar_assignment.rb
288
290
  - lib/mongoid/errors/invalid_elem_match_operator.rb
289
291
  - lib/mongoid/errors/invalid_estimated_count_criteria.rb
290
292
  - lib/mongoid/errors/invalid_expression_operator.rb
291
293
  - lib/mongoid/errors/invalid_field.rb
292
294
  - lib/mongoid/errors/invalid_field_operator.rb
293
295
  - lib/mongoid/errors/invalid_field_option.rb
296
+ - lib/mongoid/errors/invalid_field_type.rb
294
297
  - lib/mongoid/errors/invalid_find.rb
295
298
  - lib/mongoid/errors/invalid_includes.rb
296
299
  - lib/mongoid/errors/invalid_index.rb
@@ -306,7 +309,6 @@ files:
306
309
  - lib/mongoid/errors/invalid_storage_options.rb
307
310
  - lib/mongoid/errors/invalid_storage_parent.rb
308
311
  - lib/mongoid/errors/invalid_time.rb
309
- - lib/mongoid/errors/invalid_value.rb
310
312
  - lib/mongoid/errors/inverse_not_found.rb
311
313
  - lib/mongoid/errors/mixed_client_configuration.rb
312
314
  - lib/mongoid/errors/mixed_relations.rb
@@ -334,6 +336,7 @@ files:
334
336
  - lib/mongoid/extensions.rb
335
337
  - lib/mongoid/extensions/array.rb
336
338
  - lib/mongoid/extensions/big_decimal.rb
339
+ - lib/mongoid/extensions/binary.rb
337
340
  - lib/mongoid/extensions/boolean.rb
338
341
  - lib/mongoid/extensions/date.rb
339
342
  - lib/mongoid/extensions/date_time.rb
@@ -470,6 +473,7 @@ files:
470
473
  - spec/integration/associations/embeds_one_spec.rb
471
474
  - spec/integration/associations/foreign_key_spec.rb
472
475
  - spec/integration/associations/foreign_key_spec_models.rb
476
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
473
477
  - spec/integration/associations/has_many_spec.rb
474
478
  - spec/integration/associations/has_one_spec.rb
475
479
  - spec/integration/associations/nested_attributes_assignment_spec.rb
@@ -490,6 +494,7 @@ files:
490
494
  - spec/integration/discriminator_key_spec.rb
491
495
  - spec/integration/discriminator_value_spec.rb
492
496
  - spec/integration/document_spec.rb
497
+ - spec/integration/dots_and_dollars_spec.rb
493
498
  - spec/integration/i18n_fallbacks_spec.rb
494
499
  - spec/integration/matcher_examples_spec.rb
495
500
  - spec/integration/matcher_operator_data/all.yml
@@ -552,6 +557,7 @@ files:
552
557
  - spec/integration/matcher_operator_data/type_undefined.yml
553
558
  - spec/integration/matcher_operator_spec.rb
554
559
  - spec/integration/matcher_spec.rb
560
+ - spec/integration/persistence/range_field_spec.rb
555
561
  - spec/integration/server_query_spec.rb
556
562
  - spec/integration/shardable_spec.rb
557
563
  - spec/integration/stringified_symbol_field_spec.rb
@@ -591,6 +597,7 @@ files:
591
597
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
592
598
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
593
599
  - spec/mongoid/association/referenced/belongs_to/proxy_spec.rb
600
+ - spec/mongoid/association/referenced/belongs_to_models.rb
594
601
  - spec/mongoid/association/referenced/belongs_to_query_spec.rb
595
602
  - spec/mongoid/association/referenced/belongs_to_spec.rb
596
603
  - spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb
@@ -628,6 +635,7 @@ files:
628
635
  - spec/mongoid/atomic_spec.rb
629
636
  - spec/mongoid/attributes/dynamic_spec.rb
630
637
  - spec/mongoid/attributes/nested_spec.rb
638
+ - spec/mongoid/attributes/nested_spec_models.rb
631
639
  - spec/mongoid/attributes/projector_data/embedded.yml
632
640
  - spec/mongoid/attributes/projector_data/fields.yml
633
641
  - spec/mongoid/attributes/projector_spec.rb
@@ -645,6 +653,8 @@ files:
645
653
  - spec/mongoid/config/options_spec.rb
646
654
  - spec/mongoid/config_spec.rb
647
655
  - spec/mongoid/contextual/aggregable/memory_spec.rb
656
+ - spec/mongoid/contextual/aggregable/memory_table.yml
657
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
648
658
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
649
659
  - spec/mongoid/contextual/aggregable/none_spec.rb
650
660
  - spec/mongoid/contextual/atomic_spec.rb
@@ -656,6 +666,8 @@ files:
656
666
  - spec/mongoid/copyable_spec.rb
657
667
  - spec/mongoid/copyable_spec_models.rb
658
668
  - spec/mongoid/criteria/findable_spec.rb
669
+ - spec/mongoid/criteria/includable_spec.rb
670
+ - spec/mongoid/criteria/includable_spec_models.rb
659
671
  - spec/mongoid/criteria/inspectable_spec.rb
660
672
  - spec/mongoid/criteria/marshalable_spec.rb
661
673
  - spec/mongoid/criteria/modifiable_spec.rb
@@ -709,12 +721,12 @@ files:
709
721
  - spec/mongoid/errors/delete_restriction_spec.rb
710
722
  - spec/mongoid/errors/document_not_destroyed_spec.rb
711
723
  - spec/mongoid/errors/document_not_found_spec.rb
712
- - spec/mongoid/errors/eager_load_spec.rb
713
724
  - spec/mongoid/errors/invalid_collection_spec.rb
714
725
  - spec/mongoid/errors/invalid_config_file_spec.rb
715
726
  - spec/mongoid/errors/invalid_config_option_spec.rb
716
727
  - spec/mongoid/errors/invalid_field_option_spec.rb
717
728
  - spec/mongoid/errors/invalid_field_spec.rb
729
+ - spec/mongoid/errors/invalid_field_type_spec.rb
718
730
  - spec/mongoid/errors/invalid_find_spec.rb
719
731
  - spec/mongoid/errors/invalid_includes_spec.rb
720
732
  - spec/mongoid/errors/invalid_index_spec.rb
@@ -787,6 +799,7 @@ files:
787
799
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
788
800
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
789
801
  - spec/mongoid/matcher/extract_attribute_spec.rb
802
+ - spec/mongoid/mongoizable_spec.rb
790
803
  - spec/mongoid/persistable/creatable_spec.rb
791
804
  - spec/mongoid/persistable/deletable_spec.rb
792
805
  - spec/mongoid/persistable/destroyable_spec.rb
@@ -823,6 +836,7 @@ files:
823
836
  - spec/mongoid/timestamps/updated/short_spec.rb
824
837
  - spec/mongoid/timestamps/updated_spec.rb
825
838
  - spec/mongoid/timestamps_spec.rb
839
+ - spec/mongoid/timestamps_spec_models.rb
826
840
  - spec/mongoid/touchable_spec.rb
827
841
  - spec/mongoid/touchable_spec_models.rb
828
842
  - spec/mongoid/traversable_spec.rb
@@ -833,6 +847,7 @@ files:
833
847
  - spec/mongoid/validatable/presence_spec.rb
834
848
  - spec/mongoid/validatable/uniqueness_spec.rb
835
849
  - spec/mongoid/validatable_spec.rb
850
+ - spec/mongoid/warnings_spec.rb
836
851
  - spec/mongoid_spec.rb
837
852
  - spec/rails/controller_extension/controller_runtime_spec.rb
838
853
  - spec/rails/mongoid_spec.rb
@@ -909,6 +924,7 @@ files:
909
924
  - spec/support/models/canvas.rb
910
925
  - spec/support/models/car.rb
911
926
  - spec/support/models/cat.rb
927
+ - spec/support/models/catalog.rb
912
928
  - spec/support/models/category.rb
913
929
  - spec/support/models/child.rb
914
930
  - spec/support/models/child_doc.rb
@@ -957,6 +973,7 @@ files:
957
973
  - spec/support/models/eye.rb
958
974
  - spec/support/models/eye_bowl.rb
959
975
  - spec/support/models/face.rb
976
+ - spec/support/models/fanatic.rb
960
977
  - spec/support/models/favorite.rb
961
978
  - spec/support/models/filesystem.rb
962
979
  - spec/support/models/fire_hydrant.rb
@@ -1052,6 +1069,7 @@ files:
1052
1069
  - spec/support/models/root_category.rb
1053
1070
  - spec/support/models/sandwich.rb
1054
1071
  - spec/support/models/scheduler.rb
1072
+ - spec/support/models/school.rb
1055
1073
  - spec/support/models/scribe.rb
1056
1074
  - spec/support/models/sealer.rb
1057
1075
  - spec/support/models/seat.rb
@@ -1061,6 +1079,7 @@ files:
1061
1079
  - spec/support/models/service.rb
1062
1080
  - spec/support/models/shape.rb
1063
1081
  - spec/support/models/shelf.rb
1082
+ - spec/support/models/shield.rb
1064
1083
  - spec/support/models/shipment_address.rb
1065
1084
  - spec/support/models/shipping_container.rb
1066
1085
  - spec/support/models/shipping_pack.rb
@@ -1080,6 +1099,7 @@ files:
1080
1099
  - spec/support/models/store_as_dup_test3.rb
1081
1100
  - spec/support/models/store_as_dup_test4.rb
1082
1101
  - spec/support/models/strategy.rb
1102
+ - spec/support/models/student.rb
1083
1103
  - spec/support/models/sub_item.rb
1084
1104
  - spec/support/models/subscription.rb
1085
1105
  - spec/support/models/survey.rb
@@ -1143,15 +1163,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1143
1163
  requirements:
1144
1164
  - - ">="
1145
1165
  - !ruby/object:Gem::Version
1146
- version: '2.5'
1166
+ version: '2.6'
1147
1167
  required_rubygems_version: !ruby/object:Gem::Requirement
1148
1168
  requirements:
1149
1169
  - - ">="
1150
1170
  - !ruby/object:Gem::Version
1151
1171
  version: 1.3.6
1152
1172
  requirements: []
1153
- rubyforge_project:
1154
- rubygems_version: 2.7.6.2
1173
+ rubygems_version: 3.2.5
1155
1174
  signing_key:
1156
1175
  specification_version: 4
1157
1176
  summary: Elegant Persistence in Ruby for MongoDB.
@@ -1173,6 +1192,7 @@ test_files:
1173
1192
  - spec/integration/criteria/default_scope_spec.rb
1174
1193
  - spec/integration/criteria/alias_query_spec.rb
1175
1194
  - spec/integration/criteria/date_field_spec.rb
1195
+ - spec/integration/persistence/range_field_spec.rb
1176
1196
  - spec/integration/stringified_symbol_field_spec.rb
1177
1197
  - spec/integration/document_spec.rb
1178
1198
  - spec/integration/i18n_fallbacks_spec.rb
@@ -1185,10 +1205,12 @@ test_files:
1185
1205
  - spec/integration/associations/embeds_one_spec.rb
1186
1206
  - spec/integration/associations/reverse_population_spec_models.rb
1187
1207
  - spec/integration/associations/embedded_spec.rb
1208
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
1188
1209
  - spec/integration/associations/reverse_population_spec.rb
1189
1210
  - spec/integration/associations/foreign_key_spec_models.rb
1190
1211
  - spec/integration/associations/nested_attributes_assignment_spec.rb
1191
1212
  - spec/integration/associations/embeds_many_spec.rb
1213
+ - spec/integration/dots_and_dollars_spec.rb
1192
1214
  - spec/integration/shardable_spec.rb
1193
1215
  - spec/integration/matcher_operator_data/type_binary.yml
1194
1216
  - spec/integration/matcher_operator_data/lte_types.yml
@@ -1283,6 +1305,7 @@ test_files:
1283
1305
  - spec/support/models/author.rb
1284
1306
  - spec/support/models/vet_visit.rb
1285
1307
  - spec/support/models/powerup.rb
1308
+ - spec/support/models/student.rb
1286
1309
  - spec/support/models/drug.rb
1287
1310
  - spec/support/models/eraser.rb
1288
1311
  - spec/support/models/ordered_preference.rb
@@ -1372,11 +1395,13 @@ test_files:
1372
1395
  - spec/support/models/oscar.rb
1373
1396
  - spec/support/models/pronunciation.rb
1374
1397
  - spec/support/models/address.rb
1398
+ - spec/support/models/catalog.rb
1375
1399
  - spec/support/models/threadlocker.rb
1376
1400
  - spec/support/models/label.rb
1377
1401
  - spec/support/models/edit.rb
1378
1402
  - spec/support/models/address_number.rb
1379
1403
  - spec/support/models/strategy.rb
1404
+ - spec/support/models/fanatic.rb
1380
1405
  - spec/support/models/user_account.rb
1381
1406
  - spec/support/models/array_field.rb
1382
1407
  - spec/support/models/exhibitor.rb
@@ -1398,6 +1423,7 @@ test_files:
1398
1423
  - spec/support/models/building_address.rb
1399
1424
  - spec/support/models/augmentation.rb
1400
1425
  - spec/support/models/guitar.rb
1426
+ - spec/support/models/school.rb
1401
1427
  - spec/support/models/pet.rb
1402
1428
  - spec/support/models/shirt.rb
1403
1429
  - spec/support/models/coding/pull_request.rb
@@ -1501,6 +1527,7 @@ test_files:
1501
1527
  - spec/support/models/dog.rb
1502
1528
  - spec/support/models/video.rb
1503
1529
  - spec/support/models/eye.rb
1530
+ - spec/support/models/shield.rb
1504
1531
  - spec/support/models/washer.rb
1505
1532
  - spec/support/models/lat_lng.rb
1506
1533
  - spec/support/models/sandwich.rb
@@ -1559,6 +1586,7 @@ test_files:
1559
1586
  - spec/mongoid/association/referenced/belongs_to_spec.rb
1560
1587
  - spec/mongoid/association/referenced/has_one_spec.rb
1561
1588
  - spec/mongoid/association/referenced/has_many_spec.rb
1589
+ - spec/mongoid/association/referenced/belongs_to_models.rb
1562
1590
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
1563
1591
  - spec/mongoid/association/referenced/belongs_to/binding_spec.rb
1564
1592
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
@@ -1646,8 +1674,11 @@ test_files:
1646
1674
  - spec/mongoid/contextual/none_spec.rb
1647
1675
  - spec/mongoid/contextual/atomic_spec.rb
1648
1676
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
1677
+ - spec/mongoid/contextual/aggregable/memory_table.yml
1649
1678
  - spec/mongoid/contextual/aggregable/memory_spec.rb
1650
1679
  - spec/mongoid/contextual/aggregable/none_spec.rb
1680
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
1681
+ - spec/mongoid/criteria/includable_spec.rb
1651
1682
  - spec/mongoid/criteria/options_spec.rb
1652
1683
  - spec/mongoid/criteria/queryable/smash_spec.rb
1653
1684
  - spec/mongoid/criteria/queryable/pipeline_spec.rb
@@ -1687,13 +1718,16 @@ test_files:
1687
1718
  - spec/mongoid/criteria/queryable/selectable_logical_spec.rb
1688
1719
  - spec/mongoid/criteria/modifiable_spec.rb
1689
1720
  - spec/mongoid/criteria/inspectable_spec.rb
1721
+ - spec/mongoid/criteria/includable_spec_models.rb
1690
1722
  - spec/mongoid/criteria/marshalable_spec.rb
1691
1723
  - spec/mongoid/criteria/scopable_spec.rb
1692
1724
  - spec/mongoid/criteria/findable_spec.rb
1725
+ - spec/mongoid/warnings_spec.rb
1693
1726
  - spec/mongoid/config_spec.rb
1694
1727
  - spec/mongoid/relations/proxy_spec.rb
1695
1728
  - spec/mongoid/traversable_spec.rb
1696
1729
  - spec/mongoid/criteria_projection_spec.rb
1730
+ - spec/mongoid/mongoizable_spec.rb
1697
1731
  - spec/mongoid/document_spec.rb
1698
1732
  - spec/mongoid/interceptable_spec_models.rb
1699
1733
  - spec/mongoid/extensions/date_spec.rb
@@ -1722,6 +1756,7 @@ test_files:
1722
1756
  - spec/mongoid/extensions/date_time_spec.rb
1723
1757
  - spec/mongoid/extensions/binary_spec.rb
1724
1758
  - spec/mongoid/attributes/projector_spec.rb
1759
+ - spec/mongoid/attributes/nested_spec_models.rb
1725
1760
  - spec/mongoid/attributes/readonly_spec.rb
1726
1761
  - spec/mongoid/attributes/dynamic_spec.rb
1727
1762
  - spec/mongoid/attributes/projector_data/embedded.yml
@@ -1730,6 +1765,7 @@ test_files:
1730
1765
  - spec/mongoid/inspectable_spec.rb
1731
1766
  - spec/mongoid/reloadable_spec.rb
1732
1767
  - spec/mongoid/shardable_spec.rb
1768
+ - spec/mongoid/timestamps_spec_models.rb
1733
1769
  - spec/mongoid/stateful_spec.rb
1734
1770
  - spec/mongoid/composable_spec.rb
1735
1771
  - spec/mongoid/association_spec.rb
@@ -1818,7 +1854,7 @@ test_files:
1818
1854
  - spec/mongoid/errors/invalid_config_file_spec.rb
1819
1855
  - spec/mongoid/errors/invalid_options_spec.rb
1820
1856
  - spec/mongoid/errors/document_not_found_spec.rb
1821
- - spec/mongoid/errors/eager_load_spec.rb
1857
+ - spec/mongoid/errors/invalid_field_type_spec.rb
1822
1858
  - spec/mongoid/interceptable_spec.rb
1823
1859
  - spec/mongoid/document_fields_spec.rb
1824
1860
  - spec/mongoid/criteria_spec.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Mongoid
4
- module Errors
5
-
6
- # This error is raised when attempting to eager load a many to many
7
- # association.
8
- #
9
- # @deprecated No longer used by Mongoid per MONGOID-4841.
10
- class EagerLoad < MongoidError
11
-
12
- # Create the new eager load error.
13
- #
14
- # @example Create the new eager load error.
15
- # EagerLoad.new(:preferences)
16
- #
17
- # @param [ Symbol ] name The name of the association.
18
- def initialize(name)
19
- super(compose_message("eager_load", { name: name }))
20
- end
21
- end
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Mongoid
4
- module Errors
5
-
6
- # This error is raised when trying to set an attribute with an invalid value.
7
- # For example when try to set an Array value to a Hash attribute.
8
- #
9
- class InvalidValue < MongoidError
10
- def initialize(field_class, value_class)
11
- super(
12
- compose_message("invalid_value", { value_class: value_class, field_class: field_class })
13
- )
14
- end
15
- end
16
- end
17
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Mongoid::Errors::EagerLoad do
6
-
7
- describe "#message" do
8
-
9
- let(:error) do
10
- described_class.new(:ratable)
11
- end
12
-
13
- it "contains the problem in the message" do
14
- expect(error.message).to include(
15
- "Eager loading :ratable is not supported since it is a polymorphic"
16
- )
17
- end
18
-
19
- it "contains the summary in the message" do
20
- expect(error.message).to include(
21
- "Mongoid cannot currently determine the classes it needs to eager"
22
- )
23
- end
24
-
25
- it "contains the resolution in the message" do
26
- expect(error.message).to include(
27
- "Don't attempt to perform this action and have patience"
28
- )
29
- end
30
- end
31
- end