mongoid 7.3.4 → 7.4.0

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 (884) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +17 -17
  4. data/README.md +2 -2
  5. data/lib/config/locales/en.yml +21 -20
  6. data/lib/mongoid/association/accessors.rb +0 -27
  7. data/lib/mongoid/association/bindable.rb +0 -21
  8. data/lib/mongoid/association/builders.rb +0 -9
  9. data/lib/mongoid/association/constrainable.rb +0 -3
  10. data/lib/mongoid/association/depending.rb +0 -7
  11. data/lib/mongoid/association/eager_loadable.rb +0 -3
  12. data/lib/mongoid/association/embedded/batchable.rb +9 -39
  13. data/lib/mongoid/association/embedded/cyclic.rb +2 -11
  14. data/lib/mongoid/association/embedded/embedded_in/binding.rb +0 -7
  15. data/lib/mongoid/association/embedded/embedded_in/buildable.rb +0 -3
  16. data/lib/mongoid/association/embedded/embedded_in/proxy.rb +0 -13
  17. data/lib/mongoid/association/embedded/embedded_in.rb +0 -23
  18. data/lib/mongoid/association/embedded/embeds_many/binding.rb +0 -7
  19. data/lib/mongoid/association/embedded/embeds_many/buildable.rb +0 -3
  20. data/lib/mongoid/association/embedded/embeds_many/proxy.rb +31 -44
  21. data/lib/mongoid/association/embedded/embeds_many.rb +0 -31
  22. data/lib/mongoid/association/embedded/embeds_one/binding.rb +0 -7
  23. data/lib/mongoid/association/embedded/embeds_one/buildable.rb +0 -3
  24. data/lib/mongoid/association/embedded/embeds_one/proxy.rb +26 -14
  25. data/lib/mongoid/association/embedded/embeds_one.rb +0 -27
  26. data/lib/mongoid/association/embedded.rb +0 -1
  27. data/lib/mongoid/association/macros.rb +6 -5
  28. data/lib/mongoid/association/many.rb +0 -17
  29. data/lib/mongoid/association/marshalable.rb +0 -5
  30. data/lib/mongoid/association/nested/many.rb +0 -11
  31. data/lib/mongoid/association/nested/nested_buildable.rb +0 -9
  32. data/lib/mongoid/association/nested/one.rb +1 -16
  33. data/lib/mongoid/association/nested.rb +0 -3
  34. data/lib/mongoid/association/one.rb +1 -10
  35. data/lib/mongoid/association/options.rb +0 -33
  36. data/lib/mongoid/association/proxy.rb +0 -21
  37. data/lib/mongoid/association/referenced/auto_save.rb +0 -9
  38. data/lib/mongoid/association/referenced/belongs_to/binding.rb +0 -7
  39. data/lib/mongoid/association/referenced/belongs_to/buildable.rb +4 -5
  40. data/lib/mongoid/association/referenced/belongs_to/eager.rb +0 -1
  41. data/lib/mongoid/association/referenced/belongs_to/proxy.rb +0 -13
  42. data/lib/mongoid/association/referenced/belongs_to.rb +9 -34
  43. data/lib/mongoid/association/referenced/counter_cache.rb +2 -15
  44. data/lib/mongoid/association/referenced/eager.rb +3 -24
  45. data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +0 -5
  46. data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +0 -3
  47. data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +0 -1
  48. data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +12 -39
  49. data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +11 -38
  50. data/lib/mongoid/association/referenced/has_many/binding.rb +0 -5
  51. data/lib/mongoid/association/referenced/has_many/buildable.rb +0 -3
  52. data/lib/mongoid/association/referenced/has_many/eager.rb +0 -1
  53. data/lib/mongoid/association/referenced/has_many/enumerable.rb +8 -56
  54. data/lib/mongoid/association/referenced/has_many/proxy.rb +18 -61
  55. data/lib/mongoid/association/referenced/has_many.rb +12 -39
  56. data/lib/mongoid/association/referenced/has_one/binding.rb +0 -7
  57. data/lib/mongoid/association/referenced/has_one/buildable.rb +3 -4
  58. data/lib/mongoid/association/referenced/has_one/eager.rb +0 -1
  59. data/lib/mongoid/association/referenced/has_one/nested_builder.rb +0 -15
  60. data/lib/mongoid/association/referenced/has_one/proxy.rb +0 -9
  61. data/lib/mongoid/association/referenced/has_one.rb +9 -32
  62. data/lib/mongoid/association/referenced/syncable.rb +0 -17
  63. data/lib/mongoid/association/referenced.rb +0 -1
  64. data/lib/mongoid/association/reflections.rb +0 -1
  65. data/lib/mongoid/association/relatable.rb +0 -61
  66. data/lib/mongoid/association.rb +0 -17
  67. data/lib/mongoid/atomic/modifiers.rb +4 -51
  68. data/lib/mongoid/atomic/paths/embedded/many.rb +0 -5
  69. data/lib/mongoid/atomic/paths/embedded/one.rb +0 -5
  70. data/lib/mongoid/atomic/paths/embedded.rb +0 -3
  71. data/lib/mongoid/atomic/paths/root.rb +0 -5
  72. data/lib/mongoid/atomic/paths.rb +0 -1
  73. data/lib/mongoid/atomic.rb +1 -42
  74. data/lib/mongoid/attributes/dynamic.rb +0 -17
  75. data/lib/mongoid/attributes/nested.rb +0 -5
  76. data/lib/mongoid/attributes/processing.rb +1 -18
  77. data/lib/mongoid/attributes/projector.rb +0 -1
  78. data/lib/mongoid/attributes/readonly.rb +0 -5
  79. data/lib/mongoid/attributes.rb +0 -33
  80. data/lib/mongoid/cacheable.rb +1 -6
  81. data/lib/mongoid/changeable.rb +3 -59
  82. data/lib/mongoid/clients/factory.rb +0 -7
  83. data/lib/mongoid/clients/options.rb +0 -5
  84. data/lib/mongoid/clients/sessions.rb +0 -7
  85. data/lib/mongoid/clients/storage_options.rb +0 -7
  86. data/lib/mongoid/clients/validators/storage.rb +0 -9
  87. data/lib/mongoid/clients/validators.rb +0 -1
  88. data/lib/mongoid/clients.rb +0 -9
  89. data/lib/mongoid/composable.rb +0 -7
  90. data/lib/mongoid/config/environment.rb +5 -6
  91. data/lib/mongoid/config/options.rb +0 -11
  92. data/lib/mongoid/config/validators/client.rb +0 -17
  93. data/lib/mongoid/config/validators/option.rb +0 -3
  94. data/lib/mongoid/config/validators.rb +0 -1
  95. data/lib/mongoid/config.rb +37 -29
  96. data/lib/mongoid/contextual/aggregable/memory.rb +14 -11
  97. data/lib/mongoid/contextual/aggregable/mongo.rb +15 -20
  98. data/lib/mongoid/contextual/aggregable/none.rb +65 -0
  99. data/lib/mongoid/contextual/aggregable.rb +17 -0
  100. data/lib/mongoid/contextual/atomic.rb +0 -25
  101. data/lib/mongoid/contextual/command.rb +0 -5
  102. data/lib/mongoid/contextual/geo_near.rb +1 -34
  103. data/lib/mongoid/contextual/map_reduce.rb +0 -31
  104. data/lib/mongoid/contextual/memory.rb +4 -59
  105. data/lib/mongoid/contextual/mongo.rb +132 -78
  106. data/lib/mongoid/contextual/none.rb +39 -28
  107. data/lib/mongoid/contextual/queryable.rb +0 -3
  108. data/lib/mongoid/contextual.rb +0 -5
  109. data/lib/mongoid/copyable.rb +0 -5
  110. data/lib/mongoid/criteria/findable.rb +0 -13
  111. data/lib/mongoid/criteria/includable.rb +0 -9
  112. data/lib/mongoid/criteria/inspectable.rb +0 -3
  113. data/lib/mongoid/criteria/marshalable.rb +0 -5
  114. data/lib/mongoid/criteria/modifiable.rb +0 -19
  115. data/lib/mongoid/criteria/options.rb +0 -3
  116. data/lib/mongoid/criteria/permission.rb +0 -1
  117. data/lib/mongoid/criteria/queryable/aggregable.rb +0 -13
  118. data/lib/mongoid/criteria/queryable/expandable.rb +0 -1
  119. data/lib/mongoid/criteria/queryable/extensions/array.rb +1 -26
  120. data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +0 -3
  121. data/lib/mongoid/criteria/queryable/extensions/boolean.rb +0 -3
  122. data/lib/mongoid/criteria/queryable/extensions/date.rb +0 -7
  123. data/lib/mongoid/criteria/queryable/extensions/date_time.rb +0 -5
  124. data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -25
  125. data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +0 -13
  126. data/lib/mongoid/criteria/queryable/extensions/numeric.rb +0 -11
  127. data/lib/mongoid/criteria/queryable/extensions/object.rb +1 -28
  128. data/lib/mongoid/criteria/queryable/extensions/range.rb +38 -16
  129. data/lib/mongoid/criteria/queryable/extensions/regexp.rb +0 -9
  130. data/lib/mongoid/criteria/queryable/extensions/set.rb +0 -3
  131. data/lib/mongoid/criteria/queryable/extensions/string.rb +0 -17
  132. data/lib/mongoid/criteria/queryable/extensions/symbol.rb +0 -9
  133. data/lib/mongoid/criteria/queryable/extensions/time.rb +0 -7
  134. data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +0 -7
  135. data/lib/mongoid/criteria/queryable/extensions.rb +0 -1
  136. data/lib/mongoid/criteria/queryable/key.rb +1 -14
  137. data/lib/mongoid/criteria/queryable/macroable.rb +0 -3
  138. data/lib/mongoid/criteria/queryable/mergeable.rb +1 -30
  139. data/lib/mongoid/criteria/queryable/optional.rb +0 -45
  140. data/lib/mongoid/criteria/queryable/options.rb +0 -19
  141. data/lib/mongoid/criteria/queryable/pipeline.rb +0 -13
  142. data/lib/mongoid/criteria/queryable/selectable.rb +20 -67
  143. data/lib/mongoid/criteria/queryable/selector.rb +0 -17
  144. data/lib/mongoid/criteria/queryable/smash.rb +0 -11
  145. data/lib/mongoid/criteria/queryable/storable.rb +7 -3
  146. data/lib/mongoid/criteria/queryable.rb +0 -7
  147. data/lib/mongoid/criteria/scopable.rb +25 -19
  148. data/lib/mongoid/criteria.rb +0 -57
  149. data/lib/mongoid/document.rb +0 -51
  150. data/lib/mongoid/equality.rb +26 -10
  151. data/lib/mongoid/errors/ambiguous_relationship.rb +2 -5
  152. data/lib/mongoid/errors/callback.rb +0 -3
  153. data/lib/mongoid/errors/criteria_argument_required.rb +0 -1
  154. data/lib/mongoid/errors/delete_restriction.rb +0 -3
  155. data/lib/mongoid/errors/document_not_destroyed.rb +2 -7
  156. data/lib/mongoid/errors/document_not_found.rb +0 -9
  157. data/lib/mongoid/errors/eager_load.rb +0 -3
  158. data/lib/mongoid/errors/empty_config_file.rb +0 -1
  159. data/lib/mongoid/errors/in_memory_collation_not_supported.rb +0 -3
  160. data/lib/mongoid/errors/invalid_collection.rb +0 -1
  161. data/lib/mongoid/errors/invalid_config_file.rb +0 -1
  162. data/lib/mongoid/errors/invalid_config_option.rb +0 -3
  163. data/lib/mongoid/errors/invalid_dependent_strategy.rb +0 -3
  164. data/lib/mongoid/errors/invalid_discriminator_key_target.rb +0 -1
  165. data/lib/mongoid/errors/invalid_elem_match_operator.rb +0 -1
  166. data/lib/mongoid/errors/invalid_estimated_count_criteria.rb +0 -1
  167. data/lib/mongoid/errors/invalid_expression_operator.rb +0 -1
  168. data/lib/mongoid/errors/invalid_field.rb +0 -5
  169. data/lib/mongoid/errors/invalid_field_operator.rb +0 -1
  170. data/lib/mongoid/errors/invalid_field_option.rb +0 -3
  171. data/lib/mongoid/errors/invalid_find.rb +0 -3
  172. data/lib/mongoid/errors/invalid_includes.rb +0 -3
  173. data/lib/mongoid/errors/invalid_index.rb +0 -3
  174. data/lib/mongoid/errors/invalid_options.rb +0 -3
  175. data/lib/mongoid/errors/invalid_path.rb +0 -3
  176. data/lib/mongoid/errors/invalid_persistence_option.rb +0 -5
  177. data/lib/mongoid/errors/invalid_query.rb +0 -1
  178. data/lib/mongoid/errors/invalid_relation.rb +0 -7
  179. data/lib/mongoid/errors/invalid_relation_option.rb +0 -3
  180. data/lib/mongoid/errors/invalid_scope.rb +0 -3
  181. data/lib/mongoid/errors/invalid_session_use.rb +1 -6
  182. data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +0 -1
  183. data/lib/mongoid/errors/invalid_storage_options.rb +0 -3
  184. data/lib/mongoid/errors/invalid_storage_parent.rb +0 -3
  185. data/lib/mongoid/errors/invalid_time.rb +0 -3
  186. data/lib/mongoid/errors/invalid_value.rb +0 -1
  187. data/lib/mongoid/errors/inverse_not_found.rb +0 -3
  188. data/lib/mongoid/errors/mixed_client_configuration.rb +0 -3
  189. data/lib/mongoid/errors/mixed_relations.rb +0 -3
  190. data/lib/mongoid/errors/mongoid_error.rb +0 -9
  191. data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +0 -3
  192. data/lib/mongoid/errors/no_client_config.rb +0 -3
  193. data/lib/mongoid/errors/no_client_database.rb +0 -3
  194. data/lib/mongoid/errors/no_client_hosts.rb +0 -3
  195. data/lib/mongoid/errors/no_clients_config.rb +0 -3
  196. data/lib/mongoid/errors/no_default_client.rb +0 -3
  197. data/lib/mongoid/errors/no_environment.rb +0 -3
  198. data/lib/mongoid/errors/no_map_reduce_output.rb +0 -3
  199. data/lib/mongoid/errors/no_metadata.rb +0 -3
  200. data/lib/mongoid/errors/no_parent.rb +0 -3
  201. data/lib/mongoid/errors/readonly_attribute.rb +0 -3
  202. data/lib/mongoid/errors/readonly_document.rb +1 -6
  203. data/lib/mongoid/errors/scope_overwrite.rb +0 -1
  204. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +0 -1
  205. data/lib/mongoid/errors/unknown_attribute.rb +0 -3
  206. data/lib/mongoid/errors/unknown_model.rb +0 -3
  207. data/lib/mongoid/errors/unsaved_document.rb +1 -2
  208. data/lib/mongoid/errors/unsupported_javascript.rb +0 -3
  209. data/lib/mongoid/errors/validations.rb +0 -1
  210. data/lib/mongoid/errors.rb +0 -1
  211. data/lib/mongoid/evolvable.rb +0 -3
  212. data/lib/mongoid/extensions/array.rb +3 -29
  213. data/lib/mongoid/extensions/big_decimal.rb +0 -11
  214. data/lib/mongoid/extensions/boolean.rb +0 -3
  215. data/lib/mongoid/extensions/date.rb +0 -9
  216. data/lib/mongoid/extensions/date_time.rb +0 -9
  217. data/lib/mongoid/extensions/decimal128.rb +0 -5
  218. data/lib/mongoid/extensions/false_class.rb +1 -6
  219. data/lib/mongoid/extensions/float.rb +0 -7
  220. data/lib/mongoid/extensions/hash.rb +0 -27
  221. data/lib/mongoid/extensions/integer.rb +0 -9
  222. data/lib/mongoid/extensions/module.rb +0 -3
  223. data/lib/mongoid/extensions/nil_class.rb +0 -5
  224. data/lib/mongoid/extensions/object.rb +1 -40
  225. data/lib/mongoid/extensions/object_id.rb +0 -7
  226. data/lib/mongoid/extensions/range.rb +0 -11
  227. data/lib/mongoid/extensions/regexp.rb +0 -3
  228. data/lib/mongoid/extensions/set.rb +0 -7
  229. data/lib/mongoid/extensions/string.rb +1 -30
  230. data/lib/mongoid/extensions/symbol.rb +0 -7
  231. data/lib/mongoid/extensions/time.rb +0 -11
  232. data/lib/mongoid/extensions/time_with_zone.rb +13 -9
  233. data/lib/mongoid/extensions/true_class.rb +1 -6
  234. data/lib/mongoid/extensions.rb +15 -3
  235. data/lib/mongoid/factory.rb +1 -2
  236. data/lib/mongoid/fields/foreign_key.rb +0 -21
  237. data/lib/mongoid/fields/localized.rb +0 -11
  238. data/lib/mongoid/fields/standard.rb +0 -33
  239. data/lib/mongoid/fields/validators/macro.rb +0 -9
  240. data/lib/mongoid/fields/validators.rb +0 -1
  241. data/lib/mongoid/fields.rb +64 -57
  242. data/lib/mongoid/findable.rb +0 -5
  243. data/lib/mongoid/indexable/specification.rb +0 -15
  244. data/lib/mongoid/indexable/validators/options.rb +0 -7
  245. data/lib/mongoid/indexable.rb +1 -18
  246. data/lib/mongoid/inspectable.rb +1 -10
  247. data/lib/mongoid/interceptable.rb +0 -25
  248. data/lib/mongoid/loggable.rb +0 -9
  249. data/lib/mongoid/matchable.rb +0 -5
  250. data/lib/mongoid/matcher/eq_impl.rb +37 -2
  251. data/lib/mongoid/matcher/eq_impl_with_regexp.rb +6 -1
  252. data/lib/mongoid/persistable/creatable.rb +1 -20
  253. data/lib/mongoid/persistable/deletable.rb +0 -17
  254. data/lib/mongoid/persistable/destroyable.rb +0 -7
  255. data/lib/mongoid/persistable/incrementable.rb +0 -5
  256. data/lib/mongoid/persistable/logical.rb +0 -5
  257. data/lib/mongoid/persistable/poppable.rb +0 -5
  258. data/lib/mongoid/persistable/pullable.rb +0 -7
  259. data/lib/mongoid/persistable/pushable.rb +0 -7
  260. data/lib/mongoid/persistable/renamable.rb +0 -5
  261. data/lib/mongoid/persistable/savable.rb +0 -7
  262. data/lib/mongoid/persistable/settable.rb +0 -5
  263. data/lib/mongoid/persistable/unsettable.rb +0 -5
  264. data/lib/mongoid/persistable/updatable.rb +2 -17
  265. data/lib/mongoid/persistable/upsertable.rb +0 -7
  266. data/lib/mongoid/persistable.rb +0 -23
  267. data/lib/mongoid/persistence_context.rb +0 -27
  268. data/lib/mongoid/positional.rb +0 -5
  269. data/lib/mongoid/query_cache.rb +0 -33
  270. data/lib/mongoid/railtie.rb +0 -15
  271. data/lib/mongoid/railties/controller_runtime.rb +0 -1
  272. data/lib/mongoid/reloadable.rb +4 -16
  273. data/lib/mongoid/scopable.rb +6 -34
  274. data/lib/mongoid/selectable.rb +0 -9
  275. data/lib/mongoid/serializable.rb +0 -15
  276. data/lib/mongoid/shardable.rb +0 -7
  277. data/lib/mongoid/stateful.rb +0 -9
  278. data/lib/mongoid/stringified_symbol.rb +2 -3
  279. data/lib/mongoid/tasks/database.rb +0 -5
  280. data/lib/mongoid/threaded/lifecycle.rb +0 -21
  281. data/lib/mongoid/threaded.rb +0 -55
  282. data/lib/mongoid/timestamps/created/short.rb +0 -1
  283. data/lib/mongoid/timestamps/created.rb +0 -1
  284. data/lib/mongoid/timestamps/short.rb +0 -1
  285. data/lib/mongoid/timestamps/timeless.rb +0 -7
  286. data/lib/mongoid/timestamps/updated/short.rb +0 -1
  287. data/lib/mongoid/timestamps/updated.rb +0 -3
  288. data/lib/mongoid/timestamps.rb +0 -1
  289. data/lib/mongoid/touchable.rb +0 -7
  290. data/lib/mongoid/traversable.rb +64 -53
  291. data/lib/mongoid/validatable/associated.rb +0 -3
  292. data/lib/mongoid/validatable/format.rb +0 -1
  293. data/lib/mongoid/validatable/length.rb +0 -1
  294. data/lib/mongoid/validatable/localizable.rb +0 -3
  295. data/lib/mongoid/validatable/macros.rb +0 -7
  296. data/lib/mongoid/validatable/presence.rb +1 -8
  297. data/lib/mongoid/validatable/queryable.rb +0 -3
  298. data/lib/mongoid/validatable/uniqueness.rb +15 -30
  299. data/lib/mongoid/validatable.rb +1 -22
  300. data/lib/mongoid/version.rb +1 -2
  301. data/lib/mongoid.rb +0 -15
  302. data/lib/rails/generators/mongoid/config/config_generator.rb +0 -1
  303. data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
  304. data/lib/rails/generators/mongoid_generator.rb +0 -1
  305. data/lib/rails/mongoid.rb +0 -3
  306. data/spec/integration/app_spec.rb +0 -1
  307. data/spec/integration/associations/belongs_to_spec.rb +0 -1
  308. data/spec/integration/associations/embedded_dirty_spec.rb +29 -0
  309. data/spec/integration/associations/embedded_spec.rb +0 -1
  310. data/spec/integration/associations/embeds_many_spec.rb +0 -1
  311. data/spec/integration/associations/embeds_one_spec.rb +0 -1
  312. data/spec/integration/associations/foreign_key_spec.rb +0 -1
  313. data/spec/integration/associations/foreign_key_spec_models.rb +0 -1
  314. data/spec/integration/associations/has_many_spec.rb +0 -1
  315. data/spec/integration/associations/has_one_spec.rb +0 -1
  316. data/spec/integration/associations/nested_attributes_assignment_spec.rb +0 -1
  317. data/spec/integration/associations/reverse_population_spec.rb +0 -1
  318. data/spec/integration/associations/reverse_population_spec_models.rb +0 -1
  319. data/spec/integration/associations/scope_option_spec.rb +101 -0
  320. data/spec/integration/atomic/modifiers_spec.rb +0 -1
  321. data/spec/integration/bson_regexp_raw_spec.rb +0 -1
  322. data/spec/integration/callbacks_models.rb +12 -0
  323. data/spec/integration/callbacks_spec.rb +18 -6
  324. data/spec/integration/contextual/empty_spec.rb +0 -1
  325. data/spec/integration/criteria/alias_query_spec.rb +161 -0
  326. data/spec/integration/criteria/date_field_spec.rb +0 -1
  327. data/spec/integration/criteria/default_scope_spec.rb +51 -0
  328. data/spec/integration/criteria/logical_spec.rb +30 -0
  329. data/spec/integration/criteria/range_spec.rb +265 -0
  330. data/spec/integration/criteria/time_with_zone_spec.rb +125 -15
  331. data/spec/integration/discriminator_key_spec.rb +0 -1
  332. data/spec/integration/discriminator_value_spec.rb +0 -1
  333. data/spec/integration/document_spec.rb +0 -1
  334. data/spec/integration/i18n_fallbacks_spec.rb +0 -1
  335. data/spec/integration/matcher_examples_spec.rb +0 -1
  336. data/spec/integration/matcher_operator_spec.rb +27 -3
  337. data/spec/integration/matcher_spec.rb +95 -1
  338. data/spec/integration/server_query_spec.rb +0 -1
  339. data/spec/integration/shardable_spec.rb +0 -1
  340. data/spec/integration/stringified_symbol_field_spec.rb +14 -1
  341. data/spec/lite_spec_helper.rb +8 -2
  342. data/spec/mongoid/association/accessors_spec.rb +44 -15
  343. data/spec/mongoid/association/auto_save_spec.rb +72 -34
  344. data/spec/mongoid/association/builders_spec.rb +1 -2
  345. data/spec/mongoid/association/constrainable_spec.rb +0 -1
  346. data/spec/mongoid/association/counter_cache_spec.rb +32 -33
  347. data/spec/mongoid/association/depending_spec.rb +12 -13
  348. data/spec/mongoid/association/eager_spec.rb +4 -5
  349. data/spec/mongoid/association/embedded/cyclic_spec.rb +2 -3
  350. data/spec/mongoid/association/embedded/dirty_spec.rb +2 -3
  351. data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +0 -1
  352. data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +0 -1
  353. data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +13 -14
  354. data/spec/mongoid/association/embedded/embedded_in_spec.rb +0 -1
  355. data/spec/mongoid/association/embedded/embeds_many/binding_spec.rb +0 -1
  356. data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +0 -1
  357. data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +384 -135
  358. data/spec/mongoid/association/embedded/embeds_many_models.rb +16 -1
  359. data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +0 -1
  360. data/spec/mongoid/association/embedded/embeds_many_spec.rb +0 -1
  361. data/spec/mongoid/association/embedded/embeds_one/binding_spec.rb +0 -1
  362. data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +0 -1
  363. data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +21 -22
  364. data/spec/mongoid/association/embedded/embeds_one_dnl_models.rb +0 -1
  365. data/spec/mongoid/association/embedded/embeds_one_models.rb +0 -1
  366. data/spec/mongoid/association/embedded/embeds_one_query_spec.rb +0 -1
  367. data/spec/mongoid/association/embedded/embeds_one_spec.rb +0 -1
  368. data/spec/mongoid/association/macros_spec.rb +9 -10
  369. data/spec/mongoid/association/nested/many_spec.rb +0 -1
  370. data/spec/mongoid/association/nested/one_spec.rb +0 -1
  371. data/spec/mongoid/association/options_spec.rb +0 -1
  372. data/spec/mongoid/association/polymorphic_spec.rb +0 -1
  373. data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +0 -1
  374. data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +55 -17
  375. data/spec/mongoid/association/referenced/belongs_to/eager_spec.rb +50 -15
  376. data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +57 -53
  377. data/spec/mongoid/association/referenced/belongs_to_query_spec.rb +0 -1
  378. data/spec/mongoid/association/referenced/belongs_to_spec.rb +22 -2
  379. data/spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb +0 -1
  380. data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +26 -2
  381. data/spec/mongoid/association/referenced/has_and_belongs_to_many/eager_spec.rb +31 -3
  382. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +0 -1
  383. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +179 -154
  384. data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +18 -1
  385. data/spec/mongoid/association/referenced/has_and_belongs_to_many_query_spec.rb +0 -1
  386. data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +21 -1
  387. data/spec/mongoid/association/referenced/has_many/binding_spec.rb +0 -1
  388. data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +21 -1
  389. data/spec/mongoid/association/referenced/has_many/eager_spec.rb +23 -7
  390. data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +59 -33
  391. data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +0 -1
  392. data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +221 -158
  393. data/spec/mongoid/association/referenced/has_many_models.rb +18 -1
  394. data/spec/mongoid/association/referenced/has_many_query_spec.rb +0 -1
  395. data/spec/mongoid/association/referenced/has_many_spec.rb +21 -1
  396. data/spec/mongoid/association/referenced/has_one/binding_spec.rb +0 -1
  397. data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +51 -8
  398. data/spec/mongoid/association/referenced/has_one/eager_spec.rb +17 -2
  399. data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +26 -27
  400. data/spec/mongoid/association/referenced/has_one_models.rb +18 -1
  401. data/spec/mongoid/association/referenced/has_one_query_spec.rb +0 -1
  402. data/spec/mongoid/association/referenced/has_one_spec.rb +21 -1
  403. data/spec/mongoid/association/reflections_spec.rb +0 -1
  404. data/spec/mongoid/association/syncable_spec.rb +31 -32
  405. data/spec/mongoid/association_spec.rb +0 -1
  406. data/spec/mongoid/atomic/modifiers_spec.rb +0 -1
  407. data/spec/mongoid/atomic/paths/embedded/many_spec.rb +0 -1
  408. data/spec/mongoid/atomic/paths/embedded/one_spec.rb +0 -1
  409. data/spec/mongoid/atomic/paths/root_spec.rb +0 -1
  410. data/spec/mongoid/atomic/paths_spec.rb +0 -1
  411. data/spec/mongoid/atomic_spec.rb +6 -7
  412. data/spec/mongoid/attributes/dynamic_spec.rb +0 -1
  413. data/spec/mongoid/attributes/nested_spec.rb +66 -67
  414. data/spec/mongoid/attributes/projector_spec.rb +5 -2
  415. data/spec/mongoid/attributes/readonly_spec.rb +22 -23
  416. data/spec/mongoid/attributes_spec.rb +32 -33
  417. data/spec/mongoid/cacheable_spec.rb +1 -2
  418. data/spec/mongoid/changeable_spec.rb +35 -36
  419. data/spec/mongoid/clients/factory_spec.rb +0 -1
  420. data/spec/mongoid/clients/options_spec.rb +4 -5
  421. data/spec/mongoid/clients/sessions_spec.rb +22 -23
  422. data/spec/mongoid/clients/transactions_spec.rb +49 -27
  423. data/spec/mongoid/clients_spec.rb +6 -7
  424. data/spec/mongoid/composable_spec.rb +0 -1
  425. data/spec/mongoid/config/environment_spec.rb +0 -1
  426. data/spec/mongoid/config/options_spec.rb +0 -1
  427. data/spec/mongoid/config_spec.rb +105 -1
  428. data/spec/mongoid/contextual/aggregable/memory_spec.rb +51 -12
  429. data/spec/mongoid/contextual/aggregable/mongo_spec.rb +120 -21
  430. data/spec/mongoid/contextual/aggregable/none_spec.rb +60 -0
  431. data/spec/mongoid/contextual/atomic_spec.rb +46 -47
  432. data/spec/mongoid/contextual/geo_near_spec.rb +17 -18
  433. data/spec/mongoid/contextual/map_reduce_spec.rb +2 -3
  434. data/spec/mongoid/contextual/memory_spec.rb +23 -24
  435. data/spec/mongoid/contextual/mongo_spec.rb +339 -77
  436. data/spec/mongoid/contextual/none_spec.rb +7 -82
  437. data/spec/mongoid/copyable_spec.rb +12 -13
  438. data/spec/mongoid/copyable_spec_models.rb +0 -1
  439. data/spec/mongoid/criteria/findable_spec.rb +23 -24
  440. data/spec/mongoid/criteria/inspectable_spec.rb +0 -1
  441. data/spec/mongoid/criteria/marshalable_spec.rb +0 -1
  442. data/spec/mongoid/criteria/modifiable_spec.rb +36 -37
  443. data/spec/mongoid/criteria/options_spec.rb +0 -1
  444. data/spec/mongoid/criteria/queryable/aggregable_spec.rb +1 -2
  445. data/spec/mongoid/criteria/queryable/expandable_spec.rb +0 -1
  446. data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +0 -1
  447. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +0 -1
  448. data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +0 -1
  449. data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +0 -1
  450. data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +0 -1
  451. data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +0 -1
  452. data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +0 -1
  453. data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +0 -1
  454. data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -1
  455. data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +0 -1
  456. data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +0 -1
  457. data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +0 -1
  458. data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +0 -1
  459. data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +237 -179
  460. data/spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb +0 -1
  461. data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +0 -1
  462. data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +0 -1
  463. data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +0 -1
  464. data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +0 -1
  465. data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +0 -1
  466. data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +0 -1
  467. data/spec/mongoid/criteria/queryable/key_spec.rb +0 -1
  468. data/spec/mongoid/criteria/queryable/mergeable_spec.rb +0 -1
  469. data/spec/mongoid/criteria/queryable/optional_spec.rb +1 -2
  470. data/spec/mongoid/criteria/queryable/options_spec.rb +0 -1
  471. data/spec/mongoid/criteria/queryable/pipeline_spec.rb +0 -1
  472. data/spec/mongoid/criteria/queryable/queryable_spec.rb +1 -2
  473. data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +0 -1
  474. data/spec/mongoid/criteria/queryable/selectable_shared_examples.rb +0 -1
  475. data/spec/mongoid/criteria/queryable/selectable_spec.rb +15 -16
  476. data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +0 -1
  477. data/spec/mongoid/criteria/queryable/selector_spec.rb +0 -1
  478. data/spec/mongoid/criteria/queryable/smash_spec.rb +0 -1
  479. data/spec/mongoid/criteria/queryable/storable_spec.rb +37 -1
  480. data/spec/mongoid/criteria/scopable_spec.rb +127 -1
  481. data/spec/mongoid/criteria_projection_spec.rb +3 -4
  482. data/spec/mongoid/criteria_spec.rb +546 -186
  483. data/spec/mongoid/document_fields_spec.rb +0 -1
  484. data/spec/mongoid/document_persistence_context_spec.rb +0 -1
  485. data/spec/mongoid/document_query_spec.rb +0 -1
  486. data/spec/mongoid/document_spec.rb +11 -33
  487. data/spec/mongoid/equality_spec.rb +142 -41
  488. data/spec/mongoid/errors/ambiguous_relationship_spec.rb +0 -1
  489. data/spec/mongoid/errors/callback_spec.rb +0 -1
  490. data/spec/mongoid/errors/delete_restriction_spec.rb +0 -1
  491. data/spec/mongoid/errors/document_not_destroyed_spec.rb +0 -1
  492. data/spec/mongoid/errors/document_not_found_spec.rb +0 -1
  493. data/spec/mongoid/errors/eager_load_spec.rb +0 -1
  494. data/spec/mongoid/errors/invalid_collection_spec.rb +0 -1
  495. data/spec/mongoid/errors/invalid_config_file_spec.rb +0 -1
  496. data/spec/mongoid/errors/invalid_config_option_spec.rb +0 -1
  497. data/spec/mongoid/errors/invalid_field_option_spec.rb +0 -1
  498. data/spec/mongoid/errors/invalid_field_spec.rb +0 -1
  499. data/spec/mongoid/errors/invalid_find_spec.rb +0 -1
  500. data/spec/mongoid/errors/invalid_includes_spec.rb +0 -1
  501. data/spec/mongoid/errors/invalid_index_spec.rb +0 -1
  502. data/spec/mongoid/errors/invalid_options_spec.rb +0 -1
  503. data/spec/mongoid/errors/invalid_path_spec.rb +0 -1
  504. data/spec/mongoid/errors/invalid_relation_spec.rb +0 -1
  505. data/spec/mongoid/errors/invalid_scope_spec.rb +1 -2
  506. data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +0 -1
  507. data/spec/mongoid/errors/invalid_storage_options_spec.rb +0 -1
  508. data/spec/mongoid/errors/invalid_time_spec.rb +0 -1
  509. data/spec/mongoid/errors/inverse_not_found_spec.rb +0 -1
  510. data/spec/mongoid/errors/mixed_client_configuration_spec.rb +0 -1
  511. data/spec/mongoid/errors/mixed_relations_spec.rb +0 -1
  512. data/spec/mongoid/errors/mongoid_error_spec.rb +0 -1
  513. data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +0 -1
  514. data/spec/mongoid/errors/no_client_config_spec.rb +0 -1
  515. data/spec/mongoid/errors/no_client_database_spec.rb +0 -1
  516. data/spec/mongoid/errors/no_client_hosts_spec.rb +0 -1
  517. data/spec/mongoid/errors/no_clients_config_spec.rb +0 -1
  518. data/spec/mongoid/errors/no_environment_spec.rb +0 -1
  519. data/spec/mongoid/errors/no_map_reduce_output_spec.rb +0 -1
  520. data/spec/mongoid/errors/no_metadata_spec.rb +0 -1
  521. data/spec/mongoid/errors/no_parent_spec.rb +0 -1
  522. data/spec/mongoid/errors/readonly_attribute_spec.rb +0 -1
  523. data/spec/mongoid/errors/readonly_document_spec.rb +0 -1
  524. data/spec/mongoid/errors/scope_overwrite_spec.rb +0 -1
  525. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +0 -1
  526. data/spec/mongoid/errors/unknown_attribute_spec.rb +2 -3
  527. data/spec/mongoid/errors/unsaved_document_spec.rb +0 -1
  528. data/spec/mongoid/errors/unsupported_javascript_spec.rb +0 -1
  529. data/spec/mongoid/errors/validations_spec.rb +0 -1
  530. data/spec/mongoid/extensions/array_spec.rb +0 -1
  531. data/spec/mongoid/extensions/big_decimal_spec.rb +0 -1
  532. data/spec/mongoid/extensions/binary_spec.rb +0 -1
  533. data/spec/mongoid/extensions/boolean_spec.rb +0 -1
  534. data/spec/mongoid/extensions/date_class_mongoize_spec.rb +0 -1
  535. data/spec/mongoid/extensions/date_spec.rb +0 -1
  536. data/spec/mongoid/extensions/date_time_spec.rb +0 -1
  537. data/spec/mongoid/extensions/decimal128_spec.rb +0 -1
  538. data/spec/mongoid/extensions/false_class_spec.rb +0 -1
  539. data/spec/mongoid/extensions/float_spec.rb +0 -1
  540. data/spec/mongoid/extensions/hash_spec.rb +0 -1
  541. data/spec/mongoid/extensions/integer_spec.rb +0 -1
  542. data/spec/mongoid/extensions/module_spec.rb +0 -1
  543. data/spec/mongoid/extensions/nil_class_spec.rb +0 -1
  544. data/spec/mongoid/extensions/object_id_spec.rb +0 -1
  545. data/spec/mongoid/extensions/object_spec.rb +0 -1
  546. data/spec/mongoid/extensions/range_spec.rb +0 -1
  547. data/spec/mongoid/extensions/regexp_spec.rb +0 -1
  548. data/spec/mongoid/extensions/set_spec.rb +0 -1
  549. data/spec/mongoid/extensions/string_spec.rb +2 -3
  550. data/spec/mongoid/extensions/stringified_symbol_spec.rb +0 -1
  551. data/spec/mongoid/extensions/symbol_spec.rb +0 -1
  552. data/spec/mongoid/extensions/time_spec.rb +0 -1
  553. data/spec/mongoid/extensions/time_with_zone_spec.rb +0 -1
  554. data/spec/mongoid/extensions/true_class_spec.rb +0 -1
  555. data/spec/mongoid/extensions_spec.rb +14 -3
  556. data/spec/mongoid/factory_spec.rb +1 -1
  557. data/spec/mongoid/fields/foreign_key_spec.rb +0 -1
  558. data/spec/mongoid/fields/localized_spec.rb +0 -1
  559. data/spec/mongoid/fields/standard_spec.rb +0 -1
  560. data/spec/mongoid/fields_spec.rb +326 -31
  561. data/spec/mongoid/findable_spec.rb +21 -22
  562. data/spec/mongoid/indexable/specification_spec.rb +0 -1
  563. data/spec/mongoid/indexable_spec.rb +0 -1
  564. data/spec/mongoid/inspectable_spec.rb +0 -1
  565. data/spec/mongoid/interceptable_spec.rb +102 -95
  566. data/spec/mongoid/loggable_spec.rb +0 -1
  567. data/spec/mongoid/matcher/extract_attribute_spec.rb +5 -2
  568. data/spec/mongoid/persistable/creatable_spec.rb +2 -3
  569. data/spec/mongoid/persistable/deletable_spec.rb +18 -19
  570. data/spec/mongoid/persistable/destroyable_spec.rb +8 -9
  571. data/spec/mongoid/persistable/incrementable_spec.rb +8 -9
  572. data/spec/mongoid/persistable/logical_spec.rb +4 -5
  573. data/spec/mongoid/persistable/poppable_spec.rb +4 -5
  574. data/spec/mongoid/persistable/pullable_spec.rb +8 -9
  575. data/spec/mongoid/persistable/pushable_spec.rb +8 -9
  576. data/spec/mongoid/persistable/renamable_spec.rb +3 -4
  577. data/spec/mongoid/persistable/savable_spec.rb +15 -11
  578. data/spec/mongoid/persistable/settable_spec.rb +9 -10
  579. data/spec/mongoid/persistable/unsettable_spec.rb +4 -5
  580. data/spec/mongoid/persistable/updatable_spec.rb +41 -24
  581. data/spec/mongoid/persistable/upsertable_spec.rb +1 -2
  582. data/spec/mongoid/persistable_spec.rb +1 -2
  583. data/spec/mongoid/persistence_context_spec.rb +0 -1
  584. data/spec/mongoid/positional_spec.rb +0 -1
  585. data/spec/mongoid/query_cache_middleware_spec.rb +1 -2
  586. data/spec/mongoid/query_cache_spec.rb +32 -10
  587. data/spec/mongoid/relations/proxy_spec.rb +6 -7
  588. data/spec/mongoid/reloadable_spec.rb +209 -23
  589. data/spec/mongoid/scopable_spec.rb +65 -22
  590. data/spec/mongoid/selectable_spec.rb +6 -7
  591. data/spec/mongoid/serializable_spec.rb +9 -10
  592. data/spec/mongoid/shardable_spec.rb +2 -3
  593. data/spec/mongoid/stateful_spec.rb +1 -2
  594. data/spec/mongoid/tasks/database_rake_spec.rb +0 -1
  595. data/spec/mongoid/tasks/database_spec.rb +0 -1
  596. data/spec/mongoid/threaded_spec.rb +2 -3
  597. data/spec/mongoid/timestamps/created/short_spec.rb +1 -2
  598. data/spec/mongoid/timestamps/created_spec.rb +1 -2
  599. data/spec/mongoid/timestamps/timeless_spec.rb +2 -3
  600. data/spec/mongoid/timestamps/updated/short_spec.rb +3 -4
  601. data/spec/mongoid/timestamps/updated_spec.rb +3 -4
  602. data/spec/mongoid/timestamps_spec.rb +6 -7
  603. data/spec/mongoid/touchable_spec.rb +15 -20
  604. data/spec/mongoid/touchable_spec_models.rb +0 -1
  605. data/spec/mongoid/traversable_spec.rb +65 -2
  606. data/spec/mongoid/validatable/associated_spec.rb +0 -1
  607. data/spec/mongoid/validatable/format_spec.rb +0 -1
  608. data/spec/mongoid/validatable/length_spec.rb +0 -1
  609. data/spec/mongoid/validatable/numericality_spec.rb +0 -1
  610. data/spec/mongoid/validatable/presence_spec.rb +26 -23
  611. data/spec/mongoid/validatable/uniqueness_spec.rb +67 -68
  612. data/spec/mongoid/validatable_spec.rb +2 -3
  613. data/spec/mongoid_spec.rb +0 -1
  614. data/spec/rails/controller_extension/controller_runtime_spec.rb +0 -1
  615. data/spec/rails/mongoid_spec.rb +0 -1
  616. data/spec/shared/lib/mrss/cluster_config.rb +6 -1
  617. data/spec/shared/lib/mrss/constraints.rb +2 -1
  618. data/spec/shared/lib/mrss/docker_runner.rb +1 -1
  619. data/spec/shared/lib/mrss/lite_constraints.rb +8 -0
  620. data/spec/shared/lib/mrss/session_registry.rb +69 -0
  621. data/spec/shared/lib/mrss/session_registry_legacy.rb +60 -0
  622. data/spec/shared/share/Dockerfile.erb +22 -6
  623. data/spec/shared/shlib/distro.sh +2 -1
  624. data/spec/shared/shlib/server.sh +15 -3
  625. data/spec/shared/shlib/set_env.sh +6 -5
  626. data/spec/spec_helper.rb +12 -22
  627. data/spec/support/authorization.rb +0 -1
  628. data/spec/support/constraints.rb +0 -1
  629. data/spec/support/expectations.rb +0 -1
  630. data/spec/support/macros.rb +22 -1
  631. data/spec/support/models/account.rb +1 -2
  632. data/spec/support/models/acolyte.rb +0 -1
  633. data/spec/support/models/actor.rb +0 -1
  634. data/spec/support/models/actress.rb +0 -1
  635. data/spec/support/models/address.rb +0 -1
  636. data/spec/support/models/address_component.rb +0 -1
  637. data/spec/support/models/address_number.rb +0 -1
  638. data/spec/support/models/agency.rb +0 -1
  639. data/spec/support/models/agent.rb +0 -1
  640. data/spec/support/models/album.rb +0 -1
  641. data/spec/support/models/alert.rb +0 -1
  642. data/spec/support/models/animal.rb +0 -1
  643. data/spec/support/models/answer.rb +0 -1
  644. data/spec/support/models/appointment.rb +0 -1
  645. data/spec/support/models/armrest.rb +0 -1
  646. data/spec/support/models/array_field.rb +0 -1
  647. data/spec/support/models/article.rb +0 -1
  648. data/spec/support/models/artist.rb +2 -1
  649. data/spec/support/models/artwork.rb +0 -1
  650. data/spec/support/models/audible_sound.rb +3 -0
  651. data/spec/support/models/audio.rb +0 -1
  652. data/spec/support/models/augmentation.rb +0 -1
  653. data/spec/support/models/author.rb +0 -1
  654. data/spec/support/models/baby.rb +0 -1
  655. data/spec/support/models/band.rb +4 -1
  656. data/spec/support/models/bar.rb +0 -1
  657. data/spec/support/models/basic.rb +0 -1
  658. data/spec/support/models/bed.rb +0 -1
  659. data/spec/support/models/big_palette.rb +0 -1
  660. data/spec/support/models/birthday.rb +0 -1
  661. data/spec/support/models/bolt.rb +0 -1
  662. data/spec/support/models/bomb.rb +0 -1
  663. data/spec/support/models/book.rb +0 -1
  664. data/spec/support/models/breed.rb +0 -1
  665. data/spec/support/models/browser.rb +0 -1
  666. data/spec/support/models/building.rb +0 -1
  667. data/spec/support/models/building_address.rb +0 -1
  668. data/spec/support/models/bus.rb +0 -1
  669. data/spec/support/models/business.rb +0 -1
  670. data/spec/support/models/callback_test.rb +0 -1
  671. data/spec/support/models/canvas.rb +0 -1
  672. data/spec/support/models/car.rb +0 -1
  673. data/spec/support/models/cat.rb +0 -1
  674. data/spec/support/models/category.rb +0 -1
  675. data/spec/support/models/child.rb +0 -1
  676. data/spec/support/models/child_doc.rb +3 -4
  677. data/spec/support/models/church.rb +0 -1
  678. data/spec/support/models/circle.rb +0 -1
  679. data/spec/support/models/circuit.rb +0 -1
  680. data/spec/support/models/circus.rb +0 -1
  681. data/spec/support/models/code.rb +0 -1
  682. data/spec/support/models/coding/pull_request.rb +0 -1
  683. data/spec/support/models/coding.rb +0 -1
  684. data/spec/support/models/comment.rb +0 -1
  685. data/spec/support/models/company.rb +0 -1
  686. data/spec/support/models/consumption_period.rb +0 -1
  687. data/spec/support/models/contextable_item.rb +0 -1
  688. data/spec/support/models/contractor.rb +0 -1
  689. data/spec/support/models/cookie.rb +0 -1
  690. data/spec/support/models/country_code.rb +2 -1
  691. data/spec/support/models/courier_job.rb +0 -1
  692. data/spec/support/models/crate.rb +0 -1
  693. data/spec/support/models/customer.rb +0 -1
  694. data/spec/support/models/customer_address.rb +0 -1
  695. data/spec/support/models/deed.rb +0 -1
  696. data/spec/support/models/definition.rb +0 -1
  697. data/spec/support/models/delegating_patient.rb +0 -1
  698. data/spec/support/models/description.rb +0 -1
  699. data/spec/support/models/dictionary.rb +0 -1
  700. data/spec/support/models/division.rb +0 -1
  701. data/spec/support/models/doctor.rb +0 -1
  702. data/spec/support/models/dog.rb +0 -1
  703. data/spec/support/models/dokument.rb +0 -1
  704. data/spec/support/models/draft.rb +0 -1
  705. data/spec/support/models/dragon.rb +0 -1
  706. data/spec/support/models/driver.rb +0 -1
  707. data/spec/support/models/drug.rb +0 -1
  708. data/spec/support/models/dungeon.rb +0 -1
  709. data/spec/support/models/edit.rb +0 -1
  710. data/spec/support/models/email.rb +0 -1
  711. data/spec/support/models/employer.rb +0 -1
  712. data/spec/support/models/entry.rb +0 -1
  713. data/spec/support/models/eraser.rb +0 -1
  714. data/spec/support/models/even.rb +0 -1
  715. data/spec/support/models/event.rb +0 -1
  716. data/spec/support/models/exhibition.rb +0 -1
  717. data/spec/support/models/exhibitor.rb +0 -1
  718. data/spec/support/models/explosion.rb +0 -1
  719. data/spec/support/models/eye.rb +0 -1
  720. data/spec/support/models/eye_bowl.rb +0 -1
  721. data/spec/support/models/face.rb +0 -1
  722. data/spec/support/models/favorite.rb +0 -1
  723. data/spec/support/models/filesystem.rb +0 -1
  724. data/spec/support/models/fire_hydrant.rb +0 -1
  725. data/spec/support/models/firefox.rb +0 -1
  726. data/spec/support/models/fish.rb +0 -1
  727. data/spec/support/models/folder.rb +0 -1
  728. data/spec/support/models/folder_item.rb +0 -1
  729. data/spec/support/models/fruits.rb +0 -1
  730. data/spec/support/models/game.rb +0 -1
  731. data/spec/support/models/ghost.rb +0 -1
  732. data/spec/support/models/guitar.rb +0 -1
  733. data/spec/support/models/hole.rb +0 -1
  734. data/spec/support/models/home.rb +0 -1
  735. data/spec/support/models/house.rb +0 -1
  736. data/spec/support/models/html_writer.rb +0 -1
  737. data/spec/support/models/id_key.rb +0 -1
  738. data/spec/support/models/idnodef.rb +0 -1
  739. data/spec/support/models/image.rb +0 -1
  740. data/spec/support/models/implant.rb +0 -1
  741. data/spec/support/models/instrument.rb +0 -1
  742. data/spec/support/models/item.rb +0 -1
  743. data/spec/support/models/jar.rb +0 -1
  744. data/spec/support/models/kaleidoscope.rb +0 -1
  745. data/spec/support/models/kangaroo.rb +0 -1
  746. data/spec/support/models/label.rb +2 -2
  747. data/spec/support/models/language.rb +0 -1
  748. data/spec/support/models/lat_lng.rb +0 -1
  749. data/spec/support/models/league.rb +0 -1
  750. data/spec/support/models/learner.rb +0 -1
  751. data/spec/support/models/line_item.rb +0 -1
  752. data/spec/support/models/location.rb +0 -1
  753. data/spec/support/models/login.rb +0 -1
  754. data/spec/support/models/manufacturer.rb +0 -1
  755. data/spec/support/models/meat.rb +0 -1
  756. data/spec/support/models/membership.rb +0 -1
  757. data/spec/support/models/message.rb +0 -1
  758. data/spec/support/models/minim.rb +0 -1
  759. data/spec/support/models/mixed_drink.rb +0 -1
  760. data/spec/support/models/mop.rb +0 -1
  761. data/spec/support/models/movie.rb +0 -1
  762. data/spec/support/models/my_hash.rb +0 -1
  763. data/spec/support/models/name.rb +0 -1
  764. data/spec/support/models/name_only.rb +0 -1
  765. data/spec/support/models/node.rb +0 -1
  766. data/spec/support/models/note.rb +0 -1
  767. data/spec/support/models/nut.rb +0 -1
  768. data/spec/support/models/odd.rb +0 -1
  769. data/spec/support/models/order.rb +2 -1
  770. data/spec/support/models/ordered_post.rb +1 -2
  771. data/spec/support/models/ordered_preference.rb +0 -1
  772. data/spec/support/models/oscar.rb +0 -1
  773. data/spec/support/models/other_owner_object.rb +0 -1
  774. data/spec/support/models/override.rb +0 -1
  775. data/spec/support/models/ownable.rb +0 -1
  776. data/spec/support/models/owner.rb +0 -1
  777. data/spec/support/models/pack.rb +0 -1
  778. data/spec/support/models/page.rb +0 -1
  779. data/spec/support/models/page_question.rb +0 -1
  780. data/spec/support/models/palette.rb +0 -1
  781. data/spec/support/models/parent.rb +0 -1
  782. data/spec/support/models/parent_doc.rb +0 -1
  783. data/spec/support/models/passport.rb +5 -1
  784. data/spec/support/models/patient.rb +0 -1
  785. data/spec/support/models/pdf_writer.rb +0 -1
  786. data/spec/support/models/pencil.rb +0 -1
  787. data/spec/support/models/person.rb +1 -1
  788. data/spec/support/models/pet.rb +0 -1
  789. data/spec/support/models/pet_owner.rb +0 -1
  790. data/spec/support/models/phone.rb +2 -2
  791. data/spec/support/models/piano.rb +0 -1
  792. data/spec/support/models/pizza.rb +0 -1
  793. data/spec/support/models/player.rb +0 -1
  794. data/spec/support/models/post.rb +0 -1
  795. data/spec/support/models/post_genre.rb +0 -1
  796. data/spec/support/models/powerup.rb +0 -1
  797. data/spec/support/models/preference.rb +0 -1
  798. data/spec/support/models/princess.rb +0 -1
  799. data/spec/support/models/product.rb +0 -1
  800. data/spec/support/models/profile.rb +0 -1
  801. data/spec/support/models/pronunciation.rb +0 -1
  802. data/spec/support/models/pub.rb +0 -1
  803. data/spec/support/models/publication/encyclopedia.rb +0 -1
  804. data/spec/support/models/publication/review.rb +0 -1
  805. data/spec/support/models/publication.rb +0 -1
  806. data/spec/support/models/purchase.rb +0 -1
  807. data/spec/support/models/purchased_item.rb +10 -0
  808. data/spec/support/models/question.rb +0 -1
  809. data/spec/support/models/quiz.rb +0 -1
  810. data/spec/support/models/rating.rb +0 -1
  811. data/spec/support/models/record.rb +0 -1
  812. data/spec/support/models/registry.rb +0 -1
  813. data/spec/support/models/role.rb +0 -1
  814. data/spec/support/models/root_category.rb +0 -1
  815. data/spec/support/models/sandwich.rb +0 -1
  816. data/spec/support/models/scheduler.rb +0 -1
  817. data/spec/support/models/scribe.rb +0 -1
  818. data/spec/support/models/sealer.rb +0 -1
  819. data/spec/support/models/seat.rb +0 -1
  820. data/spec/support/models/seo.rb +0 -1
  821. data/spec/support/models/series.rb +0 -1
  822. data/spec/support/models/server.rb +0 -1
  823. data/spec/support/models/service.rb +0 -1
  824. data/spec/support/models/shape.rb +0 -1
  825. data/spec/support/models/shelf.rb +0 -1
  826. data/spec/support/models/shipment_address.rb +0 -1
  827. data/spec/support/models/shipping_container.rb +0 -1
  828. data/spec/support/models/shipping_pack.rb +0 -1
  829. data/spec/support/models/shirt.rb +0 -1
  830. data/spec/support/models/shop.rb +0 -1
  831. data/spec/support/models/short_agent.rb +0 -1
  832. data/spec/support/models/short_quiz.rb +0 -1
  833. data/spec/support/models/simple.rb +0 -1
  834. data/spec/support/models/slave.rb +0 -1
  835. data/spec/support/models/song.rb +0 -1
  836. data/spec/support/models/sound.rb +0 -1
  837. data/spec/support/models/spacer.rb +0 -1
  838. data/spec/support/models/square.rb +0 -1
  839. data/spec/support/models/staff.rb +0 -1
  840. data/spec/support/models/store_as_dup_test1.rb +0 -1
  841. data/spec/support/models/store_as_dup_test2.rb +0 -1
  842. data/spec/support/models/store_as_dup_test3.rb +0 -1
  843. data/spec/support/models/store_as_dup_test4.rb +0 -1
  844. data/spec/support/models/strategy.rb +0 -1
  845. data/spec/support/models/sub_item.rb +0 -1
  846. data/spec/support/models/subscription.rb +0 -1
  847. data/spec/support/models/survey.rb +0 -1
  848. data/spec/support/models/symptom.rb +0 -1
  849. data/spec/support/models/tag.rb +0 -1
  850. data/spec/support/models/target.rb +0 -1
  851. data/spec/support/models/template.rb +0 -1
  852. data/spec/support/models/thing.rb +0 -1
  853. data/spec/support/models/threadlocker.rb +0 -1
  854. data/spec/support/models/title.rb +0 -1
  855. data/spec/support/models/tool.rb +0 -1
  856. data/spec/support/models/topping.rb +0 -1
  857. data/spec/support/models/toy.rb +0 -1
  858. data/spec/support/models/track.rb +0 -1
  859. data/spec/support/models/translation.rb +0 -1
  860. data/spec/support/models/tree.rb +0 -1
  861. data/spec/support/models/truck.rb +0 -1
  862. data/spec/support/models/updatable.rb +0 -1
  863. data/spec/support/models/user.rb +0 -1
  864. data/spec/support/models/user_account.rb +0 -1
  865. data/spec/support/models/validation_callback.rb +0 -1
  866. data/spec/support/models/vehicle.rb +0 -1
  867. data/spec/support/models/version.rb +0 -1
  868. data/spec/support/models/vertex.rb +0 -1
  869. data/spec/support/models/vet_visit.rb +0 -1
  870. data/spec/support/models/video.rb +0 -1
  871. data/spec/support/models/video_game.rb +0 -1
  872. data/spec/support/models/washer.rb +0 -1
  873. data/spec/support/models/weapon.rb +0 -1
  874. data/spec/support/models/wiki_page.rb +0 -1
  875. data/spec/support/models/word.rb +0 -1
  876. data/spec/support/models/word_origin.rb +0 -1
  877. data/spec/support/models/writer.rb +0 -1
  878. data/spec/support/shared/time.rb +0 -1
  879. data/spec/support/spec_config.rb +3 -1
  880. data.tar.gz.sig +0 -0
  881. metadata +604 -587
  882. metadata.gz.sig +0 -0
  883. data/lib/support/ruby_version.rb +0 -29
  884. data/spec/support/session_registry.rb +0 -50
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -45,7 +44,7 @@ describe Mongoid::Persistable::Settable do
45
44
  end
46
45
 
47
46
  let(:person) do
48
- Person.create
47
+ Person.create!
49
48
  end
50
49
 
51
50
  let(:date) do
@@ -109,11 +108,11 @@ describe Mongoid::Persistable::Settable do
109
108
  end
110
109
 
111
110
  let(:person) do
112
- Person.create
111
+ Person.create!
113
112
  end
114
113
 
115
114
  let(:address) do
116
- person.addresses.create(street: "t")
115
+ person.addresses.create!(street: "t")
117
116
  end
118
117
 
119
118
  let(:date) do
@@ -141,7 +140,7 @@ describe Mongoid::Persistable::Settable do
141
140
  context 'when the field is a relation' do
142
141
 
143
142
  let(:person) do
144
- Person.create
143
+ Person.create!
145
144
  end
146
145
 
147
146
  let(:pet) do
@@ -171,7 +170,7 @@ describe Mongoid::Persistable::Settable do
171
170
  context "when executing atomically" do
172
171
 
173
172
  let(:person) do
174
- Person.create(title: "sir", age: 30)
173
+ Person.create!(title: "sir", age: 30)
175
174
  end
176
175
 
177
176
  it "marks a dirty change for the set fields" do
@@ -185,7 +184,7 @@ describe Mongoid::Persistable::Settable do
185
184
 
186
185
  context "when dynamic attributes are not enabled" do
187
186
  let(:account) do
188
- Account.create
187
+ Account.create!(name: 'Foobar')
189
188
  end
190
189
 
191
190
  it "raises exception for an unknown attribute " do
@@ -197,7 +196,7 @@ describe Mongoid::Persistable::Settable do
197
196
 
198
197
  context "when dynamic attributes enabled" do
199
198
  let(:person) do
200
- Person.create
199
+ Person.create!
201
200
  end
202
201
 
203
202
  it "updates non existing attribute" do
@@ -208,7 +207,7 @@ describe Mongoid::Persistable::Settable do
208
207
 
209
208
  context "with an attribute with private setter" do
210
209
  let(:agent) do
211
- Agent.create
210
+ Agent.create!
212
211
  end
213
212
 
214
213
  let(:title) do
@@ -462,7 +461,7 @@ describe Mongoid::Persistable::Settable do
462
461
  context 'when the field is not already set locally' do
463
462
 
464
463
  let(:church) do
465
- Church.create
464
+ Church.create!
466
465
  end
467
466
 
468
467
  context 'when the field is a Hash type' do
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -41,7 +40,7 @@ describe Mongoid::Persistable::Unsettable do
41
40
  end
42
41
 
43
42
  let(:person) do
44
- Person.create(title: "test", age: 30, dob: date)
43
+ Person.create!(title: "test", age: 30, dob: date)
45
44
  end
46
45
 
47
46
  context "when provided a splat of symbols" do
@@ -111,11 +110,11 @@ describe Mongoid::Persistable::Unsettable do
111
110
  end
112
111
 
113
112
  let(:person) do
114
- Person.create
113
+ Person.create!
115
114
  end
116
115
 
117
116
  let(:address) do
118
- person.addresses.create(street: "kreuzberg", number: 40, city: "Berlin")
117
+ person.addresses.create!(street: "kreuzberg", number: 40, city: "Berlin")
119
118
  end
120
119
 
121
120
  context "when provided a splat of symbols" do
@@ -158,7 +157,7 @@ describe Mongoid::Persistable::Unsettable do
158
157
  context "when executing atomically" do
159
158
 
160
159
  let(:person) do
161
- Person.create(title: "sir", age: 30)
160
+ Person.create!(title: "sir", age: 30)
162
161
  end
163
162
 
164
163
  it "marks a dirty change for the unset fields" do
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -10,7 +9,7 @@ describe Mongoid::Persistable::Updatable do
10
9
  context "when the field is aliased" do
11
10
 
12
11
  let(:person) do
13
- Person.create
12
+ Person.create!
14
13
  end
15
14
 
16
15
  context "when the setter is overridden" do
@@ -70,7 +69,7 @@ describe Mongoid::Persistable::Updatable do
70
69
  context "when setting an array field" do
71
70
 
72
71
  let(:person) do
73
- Person.create(aliases: [])
72
+ Person.create!(aliases: [])
74
73
  end
75
74
 
76
75
  before do
@@ -118,7 +117,7 @@ describe Mongoid::Persistable::Updatable do
118
117
  context "when dynamic attributes are not enabled" do
119
118
 
120
119
  it "raises exception for an unknown attribute " do
121
- account = Account.create
120
+ account = Account.create!(name: 'Foobar')
122
121
 
123
122
  expect {
124
123
  account.update_attribute(:somethingnew, "somethingnew")
@@ -126,7 +125,7 @@ describe Mongoid::Persistable::Updatable do
126
125
  end
127
126
 
128
127
  it "will update value of aliased field" do
129
- person = Person.create
128
+ person = Person.create!
130
129
  person.update_attribute(:t, "test_value")
131
130
  expect(person.reload.t).to eq "test_value"
132
131
  expect(person.test).to eq "test_value"
@@ -234,7 +233,7 @@ describe Mongoid::Persistable::Updatable do
234
233
  context "when persisting a localized field" do
235
234
 
236
235
  let!(:product) do
237
- Product.create(description: "The bomb")
236
+ Product.create!(description: "The bomb")
238
237
  end
239
238
 
240
239
  before do
@@ -263,15 +262,15 @@ describe Mongoid::Persistable::Updatable do
263
262
  context "when updating a deeply embedded document" do
264
263
 
265
264
  let!(:person) do
266
- Person.create
265
+ Person.create!
267
266
  end
268
267
 
269
268
  let!(:address) do
270
- person.addresses.create(street: "Winterfeldtstr")
269
+ person.addresses.create!(street: "Winterfeldtstr")
271
270
  end
272
271
 
273
272
  let!(:location) do
274
- address.locations.create(name: "work")
273
+ address.locations.create!(name: "work")
275
274
  end
276
275
 
277
276
  let(:from_db) do
@@ -302,7 +301,7 @@ describe Mongoid::Persistable::Updatable do
302
301
  end
303
302
 
304
303
  let(:person) do
305
- Person.create(species: :human)
304
+ Person.create!(species: :human)
306
305
  end
307
306
 
308
307
  it 'raises an error when trying to set the attribute' do
@@ -347,7 +346,7 @@ describe Mongoid::Persistable::Updatable do
347
346
  context 'when the field is loaded explicitly' do
348
347
 
349
348
  before do
350
- Person.create(title: 'Captain')
349
+ Person.create!(title: 'Captain')
351
350
  end
352
351
 
353
352
  context 'when the loaded attribute is updated' do
@@ -401,7 +400,7 @@ describe Mongoid::Persistable::Updatable do
401
400
  context 'when fields are explicitly not loaded' do
402
401
 
403
402
  before do
404
- Person.create(title: 'Captain')
403
+ Person.create!(title: 'Captain')
405
404
  end
406
405
 
407
406
  context 'when the loaded attribute is updated' do
@@ -461,12 +460,12 @@ describe Mongoid::Persistable::Updatable do
461
460
  max_server_version '4.9'
462
461
 
463
462
  let(:person) do
464
- Person.create
463
+ Person.create!
465
464
  end
466
465
 
467
466
  it "raises an error" do
468
467
  expect {
469
- person.update_attributes(map: { "$bad.key" => "value" })
468
+ person.update_attributes!(map: { "$bad.key" => "value" })
470
469
  }.to raise_error(Mongo::Error::OperationFailure)
471
470
  end
472
471
  end
@@ -474,11 +473,11 @@ describe Mongoid::Persistable::Updatable do
474
473
  context "when validation passes" do
475
474
 
476
475
  let(:person) do
477
- Person.create
476
+ Person.create!
478
477
  end
479
478
 
480
479
  let!(:saved) do
481
- person.update_attributes(pets: false)
480
+ person.update_attributes!(pets: false)
482
481
  end
483
482
 
484
483
  let(:from_db) do
@@ -498,7 +497,7 @@ describe Mongoid::Persistable::Updatable do
498
497
  max_server_version '4.9'
499
498
 
500
499
  let(:person) do
501
- Person.create
500
+ Person.create!
502
501
  end
503
502
 
504
503
  it "raises an error" do
@@ -511,7 +510,7 @@ describe Mongoid::Persistable::Updatable do
511
510
  context "when validation passes" do
512
511
 
513
512
  let(:person) do
514
- Person.create
513
+ Person.create!
515
514
  end
516
515
 
517
516
  let!(:saved) do
@@ -534,7 +533,7 @@ describe Mongoid::Persistable::Updatable do
534
533
  context "when the document has been destroyed" do
535
534
 
536
535
  let!(:person) do
537
- Person.create
536
+ Person.create!
538
537
  end
539
538
 
540
539
  before do
@@ -555,7 +554,7 @@ describe Mongoid::Persistable::Updatable do
555
554
  end
556
555
 
557
556
  let(:game) do
558
- Game.create(person: person)
557
+ Game.create!(person: person)
559
558
  end
560
559
 
561
560
  before do
@@ -592,7 +591,7 @@ describe Mongoid::Persistable::Updatable do
592
591
  context "when providing an embedded child" do
593
592
 
594
593
  let!(:person) do
595
- Person.create
594
+ Person.create!
596
595
  end
597
596
 
598
597
  let!(:name) do
@@ -619,11 +618,11 @@ describe Mongoid::Persistable::Updatable do
619
618
  context "when providing a parent to a referenced in" do
620
619
 
621
620
  let!(:person) do
622
- Person.create
621
+ Person.create!
623
622
  end
624
623
 
625
624
  let!(:post) do
626
- Post.create(title: "Testing")
625
+ Post.create!(title: "Testing")
627
626
  end
628
627
 
629
628
  context "when the relation has not yet been touched" do
@@ -684,7 +683,7 @@ describe Mongoid::Persistable::Updatable do
684
683
  before do
685
684
  phone_number.country_code = country_code
686
685
  person.phone_numbers << phone_number
687
- person.save
686
+ person.save!
688
687
  end
689
688
 
690
689
  it "sets the first level document" do
@@ -740,4 +739,22 @@ describe Mongoid::Persistable::Updatable do
740
739
  end
741
740
  end
742
741
  end
742
+
743
+ describe "#update_attributes!" do
744
+
745
+ let(:person) do
746
+ Person.create!
747
+ end
748
+
749
+ let(:attributes) do
750
+ { security_code: 'secret' }
751
+ end
752
+
753
+ it 'calls update_attributes' do
754
+ person.should receive(:update_attributes).with(attributes).and_call_original
755
+ lambda do
756
+ person.update_attributes!(attributes)
757
+ end.should_not raise_error
758
+ end
759
+ end
743
760
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -83,7 +82,7 @@ describe Mongoid::Persistable::Upsertable do
83
82
  context "when the document is not new" do
84
83
 
85
84
  let!(:existing) do
86
- Band.create(name: "Photek")
85
+ Band.create!(name: "Photek")
87
86
  end
88
87
 
89
88
  context "when updating fields outside of the id" do
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -10,7 +9,7 @@ describe Mongoid::Persistable do
10
9
  describe "#atomically" do
11
10
 
12
11
  let(:document) do
13
- Band.create(member_count: 0, likes: 60, origin: "London")
12
+ Band.create!(member_count: 0, likes: 60, origin: "London")
14
13
  end
15
14
 
16
15
  context "when providing a block" do
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
5
4
 
@@ -20,7 +19,7 @@ describe Mongoid::QueryCache::Middleware do
20
19
  expect(code).to eq(200)
21
20
  end
22
21
 
23
- it "enableds the query cache" do
22
+ it "enables the query cache" do
24
23
  middleware.call({})
25
24
  expect(@enabled).to be true
26
25
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  require "spec_helper"
4
+ require 'mongoid/association/referenced/has_many_models'
5
5
 
6
6
  describe Mongoid::QueryCache do
7
7
 
@@ -17,11 +17,11 @@ describe Mongoid::QueryCache do
17
17
  # occur only within the scope of these tests.
18
18
  #
19
19
  # Other session leaks will be detected and addressed as part of RUBY-2391.
20
- SessionRegistry.instance.clear_registry
20
+ Mrss::SessionRegistry.instance.clear_registry
21
21
  end
22
22
 
23
23
  after do
24
- SessionRegistry.instance.verify_sessions_ended!
24
+ Mrss::SessionRegistry.instance.verify_sessions_ended!
25
25
  end
26
26
 
27
27
  let(:reset_legacy_qc_warning) do
@@ -259,11 +259,11 @@ describe Mongoid::QueryCache do
259
259
  end
260
260
 
261
261
  before do
262
- person = Person.create
262
+ person = Person.create!
263
263
  3.times do
264
- person.send(relation).create
264
+ person.send(relation).create!
265
265
  end
266
- person.save
266
+ person.save!
267
267
  end
268
268
 
269
269
  let!(:relations) do
@@ -476,7 +476,7 @@ describe Mongoid::QueryCache do
476
476
  context 'querying all documents after a single document' do
477
477
  before do
478
478
  3.times do
479
- Person.create
479
+ Person.create!
480
480
  end
481
481
  end
482
482
 
@@ -532,7 +532,7 @@ describe Mongoid::QueryCache do
532
532
  context 'when using a block API' do
533
533
  before do
534
534
  Band.destroy_all
535
- 5.times { Band.create }
535
+ 5.times { Band.create! }
536
536
  end
537
537
 
538
538
  context '#any? with no block' do
@@ -792,7 +792,7 @@ describe Mongoid::QueryCache do
792
792
  end
793
793
  end
794
794
 
795
- context 'when querying colleciton larger than the batch size' do
795
+ context 'when querying collection larger than the batch size' do
796
796
  before do
797
797
  Band.destroy_all
798
798
  101.times { |i| Band.create!(_id: i) }
@@ -891,7 +891,7 @@ describe Mongoid::QueryCache do
891
891
  context "when reloading a document" do
892
892
 
893
893
  let!(:band_id) do
894
- Band.create.id
894
+ Band.create!.id
895
895
  end
896
896
 
897
897
  context 'when query cache is disabled' do
@@ -999,4 +999,26 @@ describe Mongoid::QueryCache do
999
999
  end
1000
1000
  end
1001
1001
  end
1002
+
1003
+ context 'after calling none? on an association' do
1004
+ let!(:host) do
1005
+ HmmSchool.delete_all
1006
+ school = HmmSchool.create!
1007
+ 5.times do
1008
+ HmmStudent.create!(school: school)
1009
+ end
1010
+ end
1011
+
1012
+ let(:school) { HmmSchool.first }
1013
+
1014
+ before do
1015
+ Mongoid::QueryCache.clear_cache
1016
+
1017
+ school.students.none?
1018
+ end
1019
+
1020
+ it 'returns all children for the association' do
1021
+ school.students.to_a.length.should == 5
1022
+ end
1023
+ end
1002
1024
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  # require "spec_helper"
5
4
  #
@@ -17,7 +16,7 @@
17
16
  #
18
17
  # before do
19
18
  # circus.animals << animal
20
- # circus.save
19
+ # circus.save!
21
20
  # end
22
21
  #
23
22
  # it 'uses the new persistence options' do
@@ -31,7 +30,7 @@
31
30
  #
32
31
  # describe "#find" do
33
32
  # let(:person) do
34
- # Person.create
33
+ # Person.create!
35
34
  # end
36
35
  #
37
36
  # let(:messages) do
@@ -39,7 +38,7 @@
39
38
  # end
40
39
  #
41
40
  # let(:msg1) do
42
- # messages.create(body: 'msg1')
41
+ # messages.create!(body: 'msg1')
43
42
  # end
44
43
  #
45
44
  # it "returns nil with no arguments" do
@@ -70,7 +69,7 @@
70
69
  # end
71
70
  #
72
71
  # let(:person) do
73
- # Person.create
72
+ # Person.create!
74
73
  # end
75
74
  #
76
75
  # let(:name) do
@@ -88,7 +87,7 @@
88
87
  # context "when extending from the relation definition" do
89
88
  #
90
89
  # let!(:address) do
91
- # person.addresses.create(street: "hobrecht")
90
+ # person.addresses.create!(street: "hobrecht")
92
91
  # end
93
92
  #
94
93
  # let(:found) do
@@ -103,7 +102,7 @@
103
102
  #
104
103
  # describe "equality" do
105
104
  # let(:messages) do
106
- # Person.create.messages
105
+ # Person.create!.messages
107
106
  # end
108
107
  #
109
108
  # it "is #equal? to itself" do