mongoid 3.1.7 → 4.0.0.alpha1

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 (521) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +317 -11
  3. data/README.md +4 -5
  4. data/lib/config/locales/en.yml +9 -12
  5. data/lib/mongoid.rb +6 -75
  6. data/lib/mongoid/atomic.rb +0 -11
  7. data/lib/mongoid/atomic/paths/embedded.rb +0 -30
  8. data/lib/mongoid/atomic/paths/root.rb +0 -13
  9. data/lib/mongoid/attributes.rb +30 -108
  10. data/lib/mongoid/attributes/dynamic.rb +154 -0
  11. data/lib/mongoid/attributes/nested.rb +82 -0
  12. data/lib/mongoid/attributes/processing.rb +13 -66
  13. data/lib/mongoid/{dirty.rb → changeable.rb} +5 -2
  14. data/lib/mongoid/composable.rb +104 -0
  15. data/lib/mongoid/config.rb +3 -9
  16. data/lib/mongoid/config/options.rb +1 -1
  17. data/lib/mongoid/contextual/aggregable/mongo.rb +5 -9
  18. data/lib/mongoid/contextual/atomic.rb +53 -53
  19. data/lib/mongoid/contextual/command.rb +26 -0
  20. data/lib/mongoid/contextual/map_reduce.rb +1 -1
  21. data/lib/mongoid/contextual/memory.rb +6 -5
  22. data/lib/mongoid/contextual/mongo.rb +59 -28
  23. data/lib/mongoid/contextual/text_search.rb +180 -0
  24. data/lib/mongoid/copyable.rb +2 -3
  25. data/lib/mongoid/criteria.rb +13 -33
  26. data/lib/mongoid/criteria/{#findable.rb# → findable.rb} +0 -2
  27. data/lib/mongoid/{criterion/inspection.rb → criteria/inspectable.rb} +2 -2
  28. data/lib/mongoid/{criterion → criteria}/marshalable.rb +3 -1
  29. data/lib/mongoid/{criterion → criteria}/modifiable.rb +1 -1
  30. data/lib/mongoid/{criterion/scoping.rb → criteria/scopable.rb} +2 -2
  31. data/lib/mongoid/document.rb +28 -12
  32. data/lib/mongoid/errors.rb +1 -1
  33. data/lib/mongoid/errors/document_not_found.rb +2 -1
  34. data/lib/mongoid/errors/invalid_value.rb +16 -0
  35. data/lib/mongoid/errors/mongoid_error.rb +1 -1
  36. data/lib/mongoid/extensions.rb +2 -7
  37. data/lib/mongoid/extensions/array.rb +2 -2
  38. data/lib/mongoid/extensions/boolean.rb +14 -17
  39. data/lib/mongoid/extensions/float.rb +1 -0
  40. data/lib/mongoid/extensions/hash.rb +1 -1
  41. data/lib/mongoid/extensions/object.rb +4 -4
  42. data/lib/mongoid/extensions/object_id.rb +5 -5
  43. data/lib/mongoid/extensions/range.rb +8 -2
  44. data/lib/mongoid/extensions/string.rb +5 -17
  45. data/lib/mongoid/extensions/time.rb +2 -2
  46. data/lib/mongoid/factory.rb +3 -3
  47. data/lib/mongoid/fields.rb +9 -8
  48. data/lib/mongoid/fields/foreign_key.rb +3 -3
  49. data/lib/mongoid/fields/standard.rb +4 -16
  50. data/lib/mongoid/fields/validators/macro.rb +11 -3
  51. data/lib/mongoid/{finders.rb → findable.rb} +6 -2
  52. data/lib/mongoid/{indexes.rb → indexable.rb} +50 -55
  53. data/lib/mongoid/indexable/specification.rb +104 -0
  54. data/lib/mongoid/{indexes → indexable}/validators/options.rb +2 -1
  55. data/lib/mongoid/{inspection.rb → inspectable.rb} +15 -11
  56. data/lib/mongoid/{callbacks.rb → interceptable.rb} +3 -52
  57. data/lib/mongoid/log_subscriber.rb +22 -0
  58. data/lib/mongoid/matchable.rb +152 -0
  59. data/lib/mongoid/{matchers → matchable}/all.rb +1 -1
  60. data/lib/mongoid/{matchers → matchable}/and.rb +2 -2
  61. data/lib/mongoid/{matchers → matchable}/default.rb +1 -1
  62. data/lib/mongoid/{matchers → matchable}/exists.rb +1 -1
  63. data/lib/mongoid/{matchers → matchable}/gt.rb +1 -1
  64. data/lib/mongoid/{matchers → matchable}/gte.rb +1 -1
  65. data/lib/mongoid/{matchers → matchable}/in.rb +2 -2
  66. data/lib/mongoid/{matchers → matchable}/lt.rb +1 -1
  67. data/lib/mongoid/{matchers → matchable}/lte.rb +1 -1
  68. data/lib/mongoid/{matchers → matchable}/ne.rb +1 -1
  69. data/lib/mongoid/{matchers → matchable}/nin.rb +3 -2
  70. data/lib/mongoid/{matchers → matchable}/or.rb +2 -2
  71. data/lib/mongoid/{matchers → matchable}/size.rb +1 -1
  72. data/lib/mongoid/persistable.rb +212 -0
  73. data/lib/mongoid/persistable/creatable.rb +188 -0
  74. data/lib/mongoid/persistable/deletable.rb +148 -0
  75. data/lib/mongoid/persistable/destroyable.rb +55 -0
  76. data/lib/mongoid/persistable/incrementable.rb +36 -0
  77. data/lib/mongoid/persistable/logical.rb +38 -0
  78. data/lib/mongoid/persistable/poppable.rb +39 -0
  79. data/lib/mongoid/persistable/pullable.rb +55 -0
  80. data/lib/mongoid/persistable/pushable.rb +62 -0
  81. data/lib/mongoid/persistable/renamable.rb +35 -0
  82. data/lib/mongoid/persistable/savable.rb +52 -0
  83. data/lib/mongoid/persistable/settable.rb +33 -0
  84. data/lib/mongoid/persistable/unsettable.rb +36 -0
  85. data/lib/mongoid/persistable/updatable.rb +151 -0
  86. data/lib/mongoid/persistable/upsertable.rb +55 -0
  87. data/lib/mongoid/positional.rb +71 -0
  88. data/lib/mongoid/railtie.rb +32 -45
  89. data/lib/mongoid/railties/database.rake +12 -6
  90. data/lib/mongoid/relations.rb +3 -3
  91. data/lib/mongoid/relations/accessors.rb +13 -46
  92. data/lib/mongoid/relations/auto_save.rb +15 -36
  93. data/lib/mongoid/relations/binding.rb +0 -23
  94. data/lib/mongoid/relations/bindings/embedded/many.rb +1 -3
  95. data/lib/mongoid/relations/bindings/referenced/in.rb +3 -8
  96. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +3 -1
  97. data/lib/mongoid/relations/builder.rb +1 -1
  98. data/lib/mongoid/relations/builders.rb +2 -2
  99. data/lib/mongoid/relations/builders/nested_attributes/many.rb +10 -13
  100. data/lib/mongoid/relations/builders/nested_attributes/one.rb +4 -5
  101. data/lib/mongoid/relations/builders/referenced/in.rb +1 -1
  102. data/lib/mongoid/relations/builders/referenced/many.rb +1 -2
  103. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -2
  104. data/lib/mongoid/relations/builders/referenced/one.rb +1 -1
  105. data/lib/mongoid/relations/cascading.rb +3 -5
  106. data/lib/mongoid/relations/constraint.rb +1 -1
  107. data/lib/mongoid/relations/conversions.rb +1 -1
  108. data/lib/mongoid/relations/counter_cache.rb +39 -15
  109. data/lib/mongoid/relations/eager.rb +47 -0
  110. data/lib/mongoid/relations/eager/base.rb +57 -0
  111. data/lib/mongoid/relations/eager/belongs_to.rb +30 -0
  112. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +40 -0
  113. data/lib/mongoid/relations/eager/has_many.rb +37 -0
  114. data/lib/mongoid/relations/eager/has_one.rb +29 -0
  115. data/lib/mongoid/relations/embedded/batchable.rb +3 -4
  116. data/lib/mongoid/relations/embedded/many.rb +7 -27
  117. data/lib/mongoid/relations/macros.rb +2 -4
  118. data/lib/mongoid/relations/many.rb +30 -31
  119. data/lib/mongoid/relations/metadata.rb +6 -75
  120. data/lib/mongoid/relations/nested_builder.rb +2 -2
  121. data/lib/mongoid/relations/options.rb +1 -0
  122. data/lib/mongoid/relations/polymorphic.rb +0 -1
  123. data/lib/mongoid/relations/proxy.rb +10 -32
  124. data/lib/mongoid/relations/referenced/in.rb +2 -18
  125. data/lib/mongoid/relations/referenced/many.rb +9 -22
  126. data/lib/mongoid/relations/referenced/many_to_many.rb +10 -33
  127. data/lib/mongoid/relations/referenced/one.rb +2 -21
  128. data/lib/mongoid/relations/synchronization.rb +3 -3
  129. data/lib/mongoid/relations/touchable.rb +33 -0
  130. data/lib/mongoid/{reloading.rb → reloadable.rb} +6 -4
  131. data/lib/mongoid/{scoping.rb → scopable.rb} +26 -3
  132. data/lib/mongoid/selectable.rb +59 -0
  133. data/lib/mongoid/{serialization.rb → serializable.rb} +10 -1
  134. data/lib/mongoid/sessions.rb +37 -345
  135. data/lib/mongoid/sessions/factory.rb +2 -0
  136. data/lib/mongoid/sessions/options.rb +176 -0
  137. data/lib/mongoid/sessions/storage_options.rb +140 -0
  138. data/lib/mongoid/sessions/thread_options.rb +19 -0
  139. data/lib/mongoid/sessions/validators/storage.rb +15 -1
  140. data/lib/mongoid/{sharding.rb → shardable.rb} +5 -1
  141. data/lib/mongoid/support/query_counter.rb +23 -0
  142. data/lib/mongoid/threaded.rb +0 -110
  143. data/lib/mongoid/threaded/lifecycle.rb +0 -28
  144. data/lib/mongoid/timestamps/updated/short.rb +2 -2
  145. data/lib/mongoid/{hierarchy.rb → traversable.rb} +9 -5
  146. data/lib/mongoid/{validations.rb → validatable.rb} +23 -9
  147. data/lib/mongoid/{validations → validatable}/associated.rb +3 -1
  148. data/lib/mongoid/{validations → validatable}/format.rb +1 -1
  149. data/lib/mongoid/{validations → validatable}/length.rb +1 -1
  150. data/lib/mongoid/{validations → validatable}/localizable.rb +1 -1
  151. data/lib/mongoid/{validations → validatable}/macros.rb +4 -3
  152. data/lib/mongoid/{validations → validatable}/presence.rb +1 -1
  153. data/lib/mongoid/{validations → validatable}/queryable.rb +1 -2
  154. data/lib/mongoid/{validations → validatable}/uniqueness.rb +3 -3
  155. data/lib/mongoid/version.rb +1 -1
  156. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +9 -13
  157. data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
  158. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +0 -3
  159. data/lib/rails/generators/mongoid_generator.rb +3 -40
  160. data/lib/rails/mongoid.rb +59 -57
  161. data/lib/support/ruby_version.rb +1 -1
  162. data/spec/app/models/account.rb +2 -6
  163. data/spec/app/models/acolyte.rb +1 -0
  164. data/spec/app/models/actor.rb +0 -1
  165. data/spec/app/models/address.rb +6 -1
  166. data/spec/app/models/animal.rb +1 -1
  167. data/spec/app/models/appointment.rb +2 -2
  168. data/spec/app/models/article.rb +1 -4
  169. data/spec/app/models/audio.rb +5 -0
  170. data/spec/app/models/author.rb +0 -2
  171. data/spec/app/models/band.rb +3 -2
  172. data/spec/app/models/bar.rb +1 -0
  173. data/spec/app/models/book.rb +1 -0
  174. data/spec/app/models/building.rb +0 -2
  175. data/spec/app/models/building_address.rb +0 -2
  176. data/spec/app/models/bus.rb +1 -1
  177. data/spec/app/models/canvas.rb +1 -1
  178. data/spec/app/models/contractor.rb +0 -2
  179. data/spec/app/models/country_code.rb +1 -1
  180. data/spec/app/models/definition.rb +2 -2
  181. data/spec/app/models/dragon.rb +4 -0
  182. data/spec/app/models/drug.rb +1 -3
  183. data/spec/app/models/dungeon.rb +4 -0
  184. data/spec/app/models/filesystem.rb +1 -0
  185. data/spec/app/models/fish.rb +0 -1
  186. data/spec/app/models/fruits.rb +6 -0
  187. data/spec/app/models/game.rb +0 -2
  188. data/spec/app/models/house.rb +0 -2
  189. data/spec/app/models/item.rb +1 -5
  190. data/spec/app/models/jar.rb +1 -1
  191. data/spec/app/models/label.rb +4 -4
  192. data/spec/app/models/login.rb +1 -1
  193. data/spec/app/models/movie.rb +1 -0
  194. data/spec/app/models/name.rb +3 -3
  195. data/spec/app/models/note.rb +1 -1
  196. data/spec/app/models/oscar.rb +1 -1
  197. data/spec/app/models/parent_doc.rb +1 -1
  198. data/spec/app/models/person.rb +13 -8
  199. data/spec/app/models/phone.rb +1 -3
  200. data/spec/app/models/player.rb +1 -1
  201. data/spec/app/models/post.rb +2 -1
  202. data/spec/app/models/quiz.rb +0 -3
  203. data/spec/app/models/record.rb +5 -5
  204. data/spec/app/models/registry.rb +1 -1
  205. data/spec/app/models/server.rb +1 -1
  206. data/spec/app/models/service.rb +3 -3
  207. data/spec/app/models/sound.rb +5 -0
  208. data/spec/app/models/template.rb +1 -1
  209. data/spec/app/models/title.rb +0 -1
  210. data/spec/app/models/track.rb +5 -5
  211. data/spec/app/models/tree.rb +1 -1
  212. data/spec/app/models/video.rb +0 -4
  213. data/spec/app/models/wiki_page.rb +1 -4
  214. data/spec/app/models/word.rb +3 -0
  215. data/spec/app/models/word_origin.rb +1 -1
  216. data/spec/config/mongoid.yml +7 -8
  217. data/spec/helpers.rb +18 -0
  218. data/spec/mongoid/atomic/modifiers_spec.rb +22 -22
  219. data/spec/mongoid/atomic/paths/embedded/many_spec.rb +8 -49
  220. data/spec/mongoid/atomic/paths/embedded/one_spec.rb +7 -49
  221. data/spec/mongoid/atomic/paths/root_spec.rb +3 -61
  222. data/spec/mongoid/atomic/paths_spec.rb +19 -19
  223. data/spec/mongoid/atomic_spec.rb +19 -19
  224. data/spec/mongoid/{nested_attributes_spec.rb → attributes/nested_spec.rb} +335 -448
  225. data/spec/mongoid/attributes/readonly_spec.rb +16 -16
  226. data/spec/mongoid/attributes_spec.rb +188 -434
  227. data/spec/mongoid/{dirty_spec.rb → changeable_spec.rb} +117 -148
  228. data/spec/mongoid/{components_spec.rb → composable_spec.rb} +3 -3
  229. data/spec/mongoid/config/environment_spec.rb +3 -3
  230. data/spec/mongoid/config/options_spec.rb +6 -6
  231. data/spec/mongoid/config_spec.rb +24 -48
  232. data/spec/mongoid/contextual/aggregable/memory_spec.rb +12 -12
  233. data/spec/mongoid/contextual/aggregable/mongo_spec.rb +46 -38
  234. data/spec/mongoid/contextual/atomic_spec.rb +60 -56
  235. data/spec/mongoid/contextual/find_and_modify_spec.rb +14 -14
  236. data/spec/mongoid/contextual/geo_near_spec.rb +22 -22
  237. data/spec/mongoid/contextual/map_reduce_spec.rb +27 -27
  238. data/spec/mongoid/contextual/memory_spec.rb +94 -94
  239. data/spec/mongoid/contextual/mongo_spec.rb +225 -139
  240. data/spec/mongoid/contextual/text_search_spec.rb +207 -0
  241. data/spec/mongoid/copyable_spec.rb +56 -68
  242. data/spec/mongoid/criteria/findable_spec.rb +991 -0
  243. data/spec/mongoid/{criterion/inspection_spec.rb → criteria/inspectable_spec.rb} +5 -5
  244. data/spec/mongoid/{criterion → criteria}/marshalable_spec.rb +2 -2
  245. data/spec/mongoid/criteria/modifiable_spec.rb +1063 -0
  246. data/spec/mongoid/{criterion/scoping_spec.rb → criteria/scopable_spec.rb} +31 -31
  247. data/spec/mongoid/criteria_spec.rb +530 -2207
  248. data/spec/mongoid/document_spec.rb +166 -120
  249. data/spec/mongoid/equality_spec.rb +22 -22
  250. data/spec/mongoid/errors/ambiguous_relationship_spec.rb +3 -3
  251. data/spec/mongoid/errors/callback_spec.rb +3 -3
  252. data/spec/mongoid/errors/delete_restriction_spec.rb +3 -3
  253. data/spec/mongoid/errors/document_not_found_spec.rb +11 -11
  254. data/spec/mongoid/errors/eager_load_spec.rb +3 -3
  255. data/spec/mongoid/errors/invalid_collection_spec.rb +3 -3
  256. data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -3
  257. data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -3
  258. data/spec/mongoid/errors/invalid_field_spec.rb +3 -3
  259. data/spec/mongoid/errors/invalid_find_spec.rb +3 -3
  260. data/spec/mongoid/errors/invalid_includes_spec.rb +3 -3
  261. data/spec/mongoid/errors/invalid_index_spec.rb +3 -3
  262. data/spec/mongoid/errors/invalid_options_spec.rb +3 -3
  263. data/spec/mongoid/errors/invalid_path_spec.rb +3 -3
  264. data/spec/mongoid/errors/invalid_scope_spec.rb +3 -3
  265. data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -3
  266. data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -3
  267. data/spec/mongoid/errors/invalid_time_spec.rb +3 -3
  268. data/spec/mongoid/errors/inverse_not_found_spec.rb +3 -3
  269. data/spec/mongoid/errors/mixed_relations_spec.rb +3 -3
  270. data/spec/mongoid/errors/mixed_session_configuration_spec.rb +3 -3
  271. data/spec/mongoid/errors/mongoid_error_spec.rb +7 -7
  272. data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +3 -3
  273. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  274. data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -3
  275. data/spec/mongoid/errors/no_metadata_spec.rb +3 -3
  276. data/spec/mongoid/errors/no_parent_spec.rb +3 -3
  277. data/spec/mongoid/errors/no_session_config_spec.rb +3 -3
  278. data/spec/mongoid/errors/no_session_database_spec.rb +3 -3
  279. data/spec/mongoid/errors/no_session_hosts_spec.rb +3 -3
  280. data/spec/mongoid/errors/no_sessions_config_spec.rb +3 -3
  281. data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -3
  282. data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -3
  283. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -3
  284. data/spec/mongoid/errors/unknown_attribute_spec.rb +5 -5
  285. data/spec/mongoid/errors/unsaved_document_spec.rb +3 -3
  286. data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -3
  287. data/spec/mongoid/errors/validations_spec.rb +7 -7
  288. data/spec/mongoid/extensions/array_spec.rb +61 -61
  289. data/spec/mongoid/extensions/big_decimal_spec.rb +11 -11
  290. data/spec/mongoid/extensions/binary_spec.rb +12 -12
  291. data/spec/mongoid/extensions/boolean_spec.rb +18 -18
  292. data/spec/mongoid/extensions/date_spec.rb +13 -13
  293. data/spec/mongoid/extensions/date_time_spec.rb +9 -9
  294. data/spec/mongoid/extensions/false_class_spec.rb +5 -5
  295. data/spec/mongoid/extensions/float_spec.rb +29 -15
  296. data/spec/mongoid/extensions/hash_spec.rb +29 -29
  297. data/spec/mongoid/extensions/integer_spec.rb +15 -15
  298. data/spec/mongoid/extensions/module_spec.rb +2 -2
  299. data/spec/mongoid/extensions/nil_class_spec.rb +1 -1
  300. data/spec/mongoid/extensions/object_id_spec.rb +134 -134
  301. data/spec/mongoid/extensions/object_spec.rb +26 -26
  302. data/spec/mongoid/extensions/range_spec.rb +61 -12
  303. data/spec/mongoid/extensions/regexp_spec.rb +4 -4
  304. data/spec/mongoid/extensions/set_spec.rb +4 -4
  305. data/spec/mongoid/extensions/string_spec.rb +35 -46
  306. data/spec/mongoid/extensions/symbol_spec.rb +9 -9
  307. data/spec/mongoid/extensions/time_spec.rb +49 -49
  308. data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -34
  309. data/spec/mongoid/extensions/true_class_spec.rb +5 -5
  310. data/spec/mongoid/extensions_spec.rb +15 -0
  311. data/spec/mongoid/factory_spec.rb +15 -15
  312. data/spec/mongoid/fields/foreign_key_spec.rb +73 -66
  313. data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +15 -15
  314. data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +22 -22
  315. data/spec/mongoid/fields/localized_spec.rb +23 -23
  316. data/spec/mongoid/fields/standard_spec.rb +12 -12
  317. data/spec/mongoid/fields_spec.rb +168 -209
  318. data/spec/mongoid/{finders_spec.rb → findable_spec.rb} +62 -27
  319. data/spec/mongoid/indexable/specification_spec.rb +102 -0
  320. data/spec/mongoid/{indexes_spec.rb → indexable_spec.rb} +171 -51
  321. data/spec/mongoid/{inspection_spec.rb → inspectable_spec.rb} +6 -14
  322. data/spec/mongoid/{callbacks_spec.rb → interceptable_spec.rb} +105 -105
  323. data/spec/mongoid/log_subscriber_spec.rb +74 -0
  324. data/spec/mongoid/loggable_spec.rb +1 -1
  325. data/spec/mongoid/{matchers → matchable}/all_spec.rb +4 -4
  326. data/spec/mongoid/{matchers → matchable}/and_spec.rb +11 -11
  327. data/spec/mongoid/{matchers → matchable}/default_spec.rb +15 -15
  328. data/spec/mongoid/{matchers → matchable}/exists_spec.rb +5 -5
  329. data/spec/mongoid/{matchers → matchable}/gt_spec.rb +9 -8
  330. data/spec/mongoid/{matchers → matchable}/gte_spec.rb +7 -7
  331. data/spec/mongoid/matchable/in_spec.rb +49 -0
  332. data/spec/mongoid/{matchers → matchable}/lt_spec.rb +7 -7
  333. data/spec/mongoid/{matchers → matchable}/lte_spec.rb +7 -7
  334. data/spec/mongoid/{matchers → matchable}/ne_spec.rb +3 -3
  335. data/spec/mongoid/matchable/nin_spec.rb +48 -0
  336. data/spec/mongoid/{matchers → matchable}/or_spec.rb +6 -6
  337. data/spec/mongoid/{matchers → matchable}/size_spec.rb +3 -3
  338. data/spec/mongoid/{matchers_spec.rb → matchable_spec.rb} +41 -41
  339. data/spec/mongoid/persistable/creatable_spec.rb +512 -0
  340. data/spec/mongoid/persistable/deletable_spec.rb +205 -0
  341. data/spec/mongoid/persistable/destroyable_spec.rb +148 -0
  342. data/spec/mongoid/persistable/incrementable_spec.rb +173 -0
  343. data/spec/mongoid/persistable/logical_spec.rb +143 -0
  344. data/spec/mongoid/persistable/poppable_spec.rb +115 -0
  345. data/spec/mongoid/persistable/pullable_spec.rb +228 -0
  346. data/spec/mongoid/persistable/pushable_spec.rb +258 -0
  347. data/spec/mongoid/persistable/renamable_spec.rb +135 -0
  348. data/spec/mongoid/persistable/savable_spec.rb +432 -0
  349. data/spec/mongoid/persistable/settable_spec.rb +139 -0
  350. data/spec/mongoid/persistable/unsettable_spec.rb +155 -0
  351. data/spec/mongoid/persistable/updatable_spec.rb +558 -0
  352. data/spec/mongoid/persistable/upsertable_spec.rb +106 -0
  353. data/spec/mongoid/persistable_spec.rb +206 -0
  354. data/spec/mongoid/{atomic/positionable_spec.rb → positional_spec.rb} +19 -14
  355. data/spec/mongoid/railties/document_spec.rb +2 -2
  356. data/spec/mongoid/relations/accessors_spec.rb +53 -145
  357. data/spec/mongoid/relations/auto_save_spec.rb +36 -16
  358. data/spec/mongoid/relations/bindings/embedded/in_spec.rb +6 -6
  359. data/spec/mongoid/relations/bindings/embedded/many_spec.rb +2 -2
  360. data/spec/mongoid/relations/bindings/embedded/one_spec.rb +3 -3
  361. data/spec/mongoid/relations/bindings/referenced/in_spec.rb +12 -12
  362. data/spec/mongoid/relations/bindings/referenced/many_spec.rb +6 -6
  363. data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +9 -9
  364. data/spec/mongoid/relations/bindings/referenced/one_spec.rb +6 -6
  365. data/spec/mongoid/relations/builders/embedded/in_spec.rb +4 -4
  366. data/spec/mongoid/relations/builders/embedded/many_spec.rb +18 -18
  367. data/spec/mongoid/relations/builders/embedded/one_spec.rb +11 -11
  368. data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +12 -13
  369. data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +14 -14
  370. data/spec/mongoid/relations/builders/referenced/in_spec.rb +22 -33
  371. data/spec/mongoid/relations/builders/referenced/many_spec.rb +15 -15
  372. data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +18 -18
  373. data/spec/mongoid/relations/builders/referenced/one_spec.rb +11 -24
  374. data/spec/mongoid/relations/builders_spec.rb +21 -21
  375. data/spec/mongoid/relations/cascading/delete_spec.rb +7 -7
  376. data/spec/mongoid/relations/cascading/destroy_spec.rb +2 -2
  377. data/spec/mongoid/relations/cascading/nullify_spec.rb +2 -2
  378. data/spec/mongoid/relations/cascading/restrict_spec.rb +3 -3
  379. data/spec/mongoid/relations/cascading_spec.rb +16 -16
  380. data/spec/mongoid/relations/constraint_spec.rb +8 -7
  381. data/spec/mongoid/relations/conversions_spec.rb +16 -14
  382. data/spec/mongoid/relations/counter_cache_spec.rb +85 -0
  383. data/spec/mongoid/relations/cyclic_spec.rb +18 -18
  384. data/spec/mongoid/relations/eager/belongs_to_spec.rb +154 -0
  385. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +143 -0
  386. data/spec/mongoid/relations/eager/has_many_spec.rb +207 -0
  387. data/spec/mongoid/relations/eager/has_one_spec.rb +163 -0
  388. data/spec/mongoid/relations/eager_spec.rb +228 -0
  389. data/spec/mongoid/relations/embedded/dirty_spec.rb +8 -8
  390. data/spec/mongoid/relations/embedded/in_spec.rb +55 -56
  391. data/spec/mongoid/relations/embedded/many_spec.rb +357 -367
  392. data/spec/mongoid/relations/embedded/one_spec.rb +98 -139
  393. data/spec/mongoid/relations/macros_spec.rb +108 -102
  394. data/spec/mongoid/relations/metadata_spec.rb +147 -241
  395. data/spec/mongoid/relations/options_spec.rb +1 -1
  396. data/spec/mongoid/relations/polymorphic_spec.rb +13 -17
  397. data/spec/mongoid/relations/proxy_spec.rb +2 -2
  398. data/spec/mongoid/relations/referenced/in_spec.rb +128 -303
  399. data/spec/mongoid/relations/referenced/many_spec.rb +379 -522
  400. data/spec/mongoid/relations/referenced/many_to_many_spec.rb +345 -417
  401. data/spec/mongoid/relations/referenced/one_spec.rb +148 -263
  402. data/spec/mongoid/relations/reflections_spec.rb +6 -6
  403. data/spec/mongoid/relations/synchronization_spec.rb +46 -50
  404. data/spec/mongoid/relations/targets/enumerable_spec.rb +116 -116
  405. data/spec/mongoid/relations/touchable_spec.rb +296 -0
  406. data/spec/mongoid/relations_spec.rb +16 -15
  407. data/spec/mongoid/{reloading_spec.rb → reloadable_spec.rb} +20 -60
  408. data/spec/mongoid/{scoping_spec.rb → scopable_spec.rb} +74 -126
  409. data/spec/mongoid/selectable_spec.rb +134 -0
  410. data/spec/mongoid/{serialization_spec.rb → serializable_spec.rb} +111 -82
  411. data/spec/mongoid/sessions/factory_spec.rb +49 -28
  412. data/spec/mongoid/sessions/mongo_uri_spec.rb +7 -7
  413. data/spec/mongoid/sessions/options_spec.rb +92 -0
  414. data/spec/mongoid/sessions_spec.rb +288 -177
  415. data/spec/mongoid/{sharding_spec.rb → shardable_spec.rb} +8 -8
  416. data/spec/mongoid/state_spec.rb +10 -10
  417. data/spec/mongoid/threaded_spec.rb +17 -70
  418. data/spec/mongoid/timestamps/created/short_spec.rb +6 -6
  419. data/spec/mongoid/timestamps/created_spec.rb +5 -5
  420. data/spec/mongoid/timestamps/updated/short_spec.rb +10 -10
  421. data/spec/mongoid/timestamps/updated_spec.rb +8 -12
  422. data/spec/mongoid/timestamps_spec.rb +7 -11
  423. data/spec/mongoid/{hierarchy_spec.rb → traversable_spec.rb} +19 -19
  424. data/spec/mongoid/{validations → validatable}/associated_spec.rb +18 -18
  425. data/spec/mongoid/{validations → validatable}/format_spec.rb +6 -6
  426. data/spec/mongoid/{validations → validatable}/length_spec.rb +7 -7
  427. data/spec/mongoid/{validations → validatable}/numericality_spec.rb +1 -1
  428. data/spec/mongoid/{validations → validatable}/presence_spec.rb +31 -38
  429. data/spec/mongoid/{validations → validatable}/uniqueness_spec.rb +126 -183
  430. data/spec/mongoid/{validations_spec.rb → validatable_spec.rb} +28 -28
  431. data/spec/mongoid_spec.rb +8 -8
  432. data/spec/rails/mongoid_spec.rb +72 -87
  433. data/spec/spec_helper.rb +19 -17
  434. metadata +261 -283
  435. data/lib/mongoid/atomic/positionable.rb +0 -73
  436. data/lib/mongoid/components.rb +0 -92
  437. data/lib/mongoid/config/inflections.rb +0 -6
  438. data/lib/mongoid/contextual/eager.rb +0 -158
  439. data/lib/mongoid/criterion/findable.rb +0 -179
  440. data/lib/mongoid/errors/versioning_not_on_root.rb +0 -23
  441. data/lib/mongoid/identity_map.rb +0 -163
  442. data/lib/mongoid/json.rb +0 -16
  443. data/lib/mongoid/matchers.rb +0 -32
  444. data/lib/mongoid/matchers/strategies.rb +0 -97
  445. data/lib/mongoid/multi_parameter_attributes.rb +0 -105
  446. data/lib/mongoid/nested_attributes.rb +0 -78
  447. data/lib/mongoid/observer.rb +0 -192
  448. data/lib/mongoid/paranoia.rb +0 -136
  449. data/lib/mongoid/persistence.rb +0 -357
  450. data/lib/mongoid/persistence/atomic.rb +0 -231
  451. data/lib/mongoid/persistence/atomic/add_to_set.rb +0 -47
  452. data/lib/mongoid/persistence/atomic/bit.rb +0 -35
  453. data/lib/mongoid/persistence/atomic/inc.rb +0 -45
  454. data/lib/mongoid/persistence/atomic/operation.rb +0 -154
  455. data/lib/mongoid/persistence/atomic/pop.rb +0 -32
  456. data/lib/mongoid/persistence/atomic/pull.rb +0 -32
  457. data/lib/mongoid/persistence/atomic/pull_all.rb +0 -32
  458. data/lib/mongoid/persistence/atomic/push.rb +0 -25
  459. data/lib/mongoid/persistence/atomic/push_all.rb +0 -25
  460. data/lib/mongoid/persistence/atomic/rename.rb +0 -30
  461. data/lib/mongoid/persistence/atomic/sets.rb +0 -28
  462. data/lib/mongoid/persistence/atomic/unset.rb +0 -27
  463. data/lib/mongoid/persistence/deletion.rb +0 -31
  464. data/lib/mongoid/persistence/insertion.rb +0 -38
  465. data/lib/mongoid/persistence/modification.rb +0 -35
  466. data/lib/mongoid/persistence/operations.rb +0 -214
  467. data/lib/mongoid/persistence/operations/embedded/insert.rb +0 -46
  468. data/lib/mongoid/persistence/operations/embedded/remove.rb +0 -43
  469. data/lib/mongoid/persistence/operations/insert.rb +0 -34
  470. data/lib/mongoid/persistence/operations/remove.rb +0 -33
  471. data/lib/mongoid/persistence/operations/update.rb +0 -59
  472. data/lib/mongoid/persistence/operations/upsert.rb +0 -28
  473. data/lib/mongoid/persistence/upsertion.rb +0 -31
  474. data/lib/mongoid/unit_of_work.rb +0 -61
  475. data/lib/mongoid/versioning.rb +0 -217
  476. data/lib/rack/mongoid.rb +0 -2
  477. data/lib/rack/mongoid/middleware/identity_map.rb +0 -39
  478. data/lib/rails/generators/mongoid/observer/observer_generator.rb +0 -17
  479. data/lib/rails/generators/mongoid/observer/templates/observer.rb.tt +0 -4
  480. data/spec/app/models/actor_observer.rb +0 -15
  481. data/spec/app/models/callback_recorder.rb +0 -25
  482. data/spec/app/models/draft.rb +0 -9
  483. data/spec/app/models/paranoid_phone.rb +0 -25
  484. data/spec/app/models/paranoid_post.rb +0 -36
  485. data/spec/app/models/phone_observer.rb +0 -6
  486. data/spec/mongoid/#atomic_spec.rb# +0 -365
  487. data/spec/mongoid/attributes/processing_spec.rb +0 -149
  488. data/spec/mongoid/criterion/destructive_spec.rb +0 -101
  489. data/spec/mongoid/criterion/modifiable_spec.rb +0 -409
  490. data/spec/mongoid/criterion/modification_spec.rb +0 -402
  491. data/spec/mongoid/errors/versioning_not_on_root_spec.rb +0 -29
  492. data/spec/mongoid/identity_map_spec.rb +0 -564
  493. data/spec/mongoid/json_spec.rb +0 -33
  494. data/spec/mongoid/matchers/in_spec.rb +0 -25
  495. data/spec/mongoid/matchers/nin_spec.rb +0 -25
  496. data/spec/mongoid/multi_parameter_attributes_spec.rb +0 -128
  497. data/spec/mongoid/observer_spec.rb +0 -290
  498. data/spec/mongoid/paranoia_spec.rb +0 -759
  499. data/spec/mongoid/persistence/atomic/add_to_set_spec.rb +0 -262
  500. data/spec/mongoid/persistence/atomic/bit_spec.rb +0 -88
  501. data/spec/mongoid/persistence/atomic/inc_spec.rb +0 -133
  502. data/spec/mongoid/persistence/atomic/pop_spec.rb +0 -111
  503. data/spec/mongoid/persistence/atomic/pull_all_spec.rb +0 -77
  504. data/spec/mongoid/persistence/atomic/pull_spec.rb +0 -80
  505. data/spec/mongoid/persistence/atomic/push_all_spec.rb +0 -77
  506. data/spec/mongoid/persistence/atomic/push_spec.rb +0 -77
  507. data/spec/mongoid/persistence/atomic/rename_spec.rb +0 -42
  508. data/spec/mongoid/persistence/atomic/sets_spec.rb +0 -154
  509. data/spec/mongoid/persistence/atomic/unset_spec.rb +0 -65
  510. data/spec/mongoid/persistence/atomic_spec.rb +0 -216
  511. data/spec/mongoid/persistence/operations/embedded/insert_spec.rb +0 -191
  512. data/spec/mongoid/persistence/operations/embedded/remove_spec.rb +0 -8
  513. data/spec/mongoid/persistence/operations/insert_spec.rb +0 -149
  514. data/spec/mongoid/persistence/operations/remove_spec.rb +0 -113
  515. data/spec/mongoid/persistence/operations/update_spec.rb +0 -141
  516. data/spec/mongoid/persistence/operations/upsert_spec.rb +0 -59
  517. data/spec/mongoid/persistence/operations_spec.rb +0 -313
  518. data/spec/mongoid/persistence_spec.rb +0 -2279
  519. data/spec/mongoid/unit_of_work_spec.rb +0 -196
  520. data/spec/mongoid/versioning_spec.rb +0 -540
  521. data/spec/rack/mongoid/middleware/identity_map_spec.rb +0 -72
@@ -17,7 +17,7 @@ describe Mongoid::Relations::Builders do
17
17
  end
18
18
 
19
19
  it "does not set a binding attribute" do
20
- name[:binding].should be_nil
20
+ expect(name[:binding]).to be_nil
21
21
  end
22
22
  end
23
23
 
@@ -28,7 +28,7 @@ describe Mongoid::Relations::Builders do
28
28
  end
29
29
 
30
30
  it "does not set a binding attribute" do
31
- game[:binding].should be_nil
31
+ expect(game[:binding]).to be_nil
32
32
  end
33
33
  end
34
34
 
@@ -45,15 +45,15 @@ describe Mongoid::Relations::Builders do
45
45
  end
46
46
 
47
47
  it "builds the document" do
48
- post.person.should eq(person)
48
+ expect(post.person).to eq(person)
49
49
  end
50
50
 
51
51
  it "sets the inverse" do
52
- person.posts.should eq([ post ])
52
+ expect(person.posts).to eq([ post ])
53
53
  end
54
54
 
55
55
  it "does not save the document" do
56
- person.should_not be_persisted
56
+ expect(person).to_not be_persisted
57
57
  end
58
58
  end
59
59
 
@@ -68,15 +68,15 @@ describe Mongoid::Relations::Builders do
68
68
  end
69
69
 
70
70
  it "builds the document" do
71
- game.person.should eq(person)
71
+ expect(game.person).to eq(person)
72
72
  end
73
73
 
74
74
  it "sets the inverse" do
75
- person.game.should eq(game)
75
+ expect(person.game).to eq(game)
76
76
  end
77
77
 
78
78
  it "does not save the document" do
79
- person.should_not be_persisted
79
+ expect(person).to_not be_persisted
80
80
  end
81
81
  end
82
82
  end
@@ -98,7 +98,7 @@ describe Mongoid::Relations::Builders do
98
98
  end
99
99
 
100
100
  it "does not set a binding attribute" do
101
- name[:binding].should be_nil
101
+ expect(name[:binding]).to be_nil
102
102
  end
103
103
  end
104
104
 
@@ -109,7 +109,7 @@ describe Mongoid::Relations::Builders do
109
109
  end
110
110
 
111
111
  it "does not set a binding attribute" do
112
- game[:binding].should be_nil
112
+ expect(game[:binding]).to be_nil
113
113
  end
114
114
  end
115
115
 
@@ -126,19 +126,19 @@ describe Mongoid::Relations::Builders do
126
126
  end
127
127
 
128
128
  it "builds the document" do
129
- post.person.should eq(person)
129
+ expect(post.person).to eq(person)
130
130
  end
131
131
 
132
132
  it "sets the inverse" do
133
- person.posts.should eq([ post ])
133
+ expect(person.posts).to eq([ post ])
134
134
  end
135
135
 
136
136
  it "saves the document" do
137
- person.should be_persisted
137
+ expect(person).to be_persisted
138
138
  end
139
139
 
140
140
  it "saves the child" do
141
- post.should be_persisted
141
+ expect(post).to be_persisted
142
142
  end
143
143
  end
144
144
 
@@ -153,19 +153,19 @@ describe Mongoid::Relations::Builders do
153
153
  end
154
154
 
155
155
  it "builds the document" do
156
- game.person.should eq(person)
156
+ expect(game.person).to eq(person)
157
157
  end
158
158
 
159
159
  it "sets the inverse" do
160
- person.game.should eq(game)
160
+ expect(person.game).to eq(game)
161
161
  end
162
162
 
163
163
  it "saves the document" do
164
- person.should be_persisted
164
+ expect(person).to be_persisted
165
165
  end
166
166
 
167
167
  it "saves the child" do
168
- game.should be_persisted
168
+ expect(game).to be_persisted
169
169
  end
170
170
  end
171
171
  end
@@ -190,15 +190,15 @@ describe Mongoid::Relations::Builders do
190
190
  end
191
191
 
192
192
  it "replaces the existing document" do
193
- person.game.should eq(game_two)
193
+ expect(person.game).to eq(game_two)
194
194
  end
195
195
 
196
196
  it "persists the change" do
197
- person.game(true).should eq(game_two)
197
+ expect(person.game(true)).to eq(game_two)
198
198
  end
199
199
 
200
200
  it "removes the old document from the database" do
201
- Game.collection.find.count.should eq(1)
201
+ expect(Game.collection.find.count).to eq(1)
202
202
  end
203
203
  end
204
204
  end
@@ -21,7 +21,7 @@ describe Mongoid::Relations::Cascading::Delete do
21
21
  end
22
22
 
23
23
  it "deletes the relation" do
24
- home.should be_destroyed
24
+ expect(home).to be_destroyed
25
25
  end
26
26
 
27
27
  it "persists the deletion" do
@@ -38,7 +38,7 @@ describe Mongoid::Relations::Cascading::Delete do
38
38
  end
39
39
 
40
40
  it "deletes the base document" do
41
- person.should be_destroyed
41
+ expect(person).to be_destroyed
42
42
  end
43
43
  end
44
44
  end
@@ -65,23 +65,23 @@ describe Mongoid::Relations::Cascading::Delete do
65
65
  end
66
66
 
67
67
  it "deletes the first document" do
68
- post_one.should be_destroyed
68
+ expect(post_one).to be_destroyed
69
69
  end
70
70
 
71
71
  it "deletes the second document" do
72
- post_two.should be_destroyed
72
+ expect(post_two).to be_destroyed
73
73
  end
74
74
 
75
75
  it "unbinds the first document" do
76
- post_one.person.should be_nil
76
+ expect(post_one.person).to be_nil
77
77
  end
78
78
 
79
79
  it "unbinds the second document" do
80
- post_two.person.should be_nil
80
+ expect(post_two.person).to be_nil
81
81
  end
82
82
 
83
83
  it "removes the documents from the relation" do
84
- person.posts.should be_empty
84
+ expect(person.posts).to be_empty
85
85
  end
86
86
 
87
87
  it "persists the first deletion" do
@@ -7,7 +7,7 @@ describe Mongoid::Relations::Cascading::Destroy do
7
7
  end
8
8
 
9
9
  let(:metadata) do
10
- stub(name: :posts)
10
+ double(name: :posts)
11
11
  end
12
12
 
13
13
  let(:strategy) do
@@ -17,7 +17,7 @@ describe Mongoid::Relations::Cascading::Destroy do
17
17
  describe "#cascade" do
18
18
 
19
19
  let(:post) do
20
- stub
20
+ double
21
21
  end
22
22
 
23
23
  context "when the documents exist" do
@@ -9,11 +9,11 @@ describe Mongoid::Relations::Cascading::Nullify do
9
9
  describe "#cascade" do
10
10
 
11
11
  let(:relation) do
12
- stub
12
+ double
13
13
  end
14
14
 
15
15
  let(:metadata) do
16
- stub(name: :posts)
16
+ double(name: :posts)
17
17
  end
18
18
 
19
19
  let(:strategy) do
@@ -16,7 +16,7 @@ describe Mongoid::Relations::Cascading::Restrict do
16
16
  end
17
17
 
18
18
  let(:metadata) do
19
- stub(name: :drugs)
19
+ double(name: :drugs)
20
20
  end
21
21
 
22
22
  let(:strategy) do
@@ -26,7 +26,7 @@ describe Mongoid::Relations::Cascading::Restrict do
26
26
  describe "#cascade" do
27
27
 
28
28
  let(:drug) do
29
- stub
29
+ double
30
30
  end
31
31
 
32
32
  context "when the document exists" do
@@ -38,7 +38,7 @@ describe Mongoid::Relations::Cascading::Restrict do
38
38
  end
39
39
 
40
40
  it "deletes the person" do
41
- expect { strategy.cascade }.to_not raise_error(Mongoid::Errors::DeleteRestriction)
41
+ expect { strategy.cascade }.to_not raise_error
42
42
  end
43
43
  end
44
44
 
@@ -21,7 +21,7 @@ describe Mongoid::Relations::Cascading do
21
21
  end
22
22
 
23
23
  it "ignores the cascade" do
24
- band.cascade!.should eq([ "records" ])
24
+ expect(band.cascade!).to eq([ "records" ])
25
25
  end
26
26
  end
27
27
  end
@@ -61,11 +61,11 @@ describe Mongoid::Relations::Cascading do
61
61
  end
62
62
 
63
63
  it "adds the action to the cascades" do
64
- klass.cascades.should include("posts")
64
+ expect(klass.cascades).to include("posts")
65
65
  end
66
66
 
67
67
  it "returns self" do
68
- cascaded.should eq(klass)
68
+ expect(cascaded).to eq(klass)
69
69
  end
70
70
  end
71
71
 
@@ -83,11 +83,11 @@ describe Mongoid::Relations::Cascading do
83
83
  end
84
84
 
85
85
  it "does not add an action to the cascades" do
86
- klass.cascades.should_not include("posts")
86
+ expect(klass.cascades).to_not include("posts")
87
87
  end
88
88
 
89
89
  it "returns self" do
90
- cascaded.should eq(klass)
90
+ expect(cascaded).to eq(klass)
91
91
  end
92
92
  end
93
93
  end
@@ -161,7 +161,7 @@ describe Mongoid::Relations::Cascading do
161
161
  end
162
162
 
163
163
  it "removes the references to the removed document" do
164
- from_db.ratable_id.should be_nil
164
+ expect(from_db.ratable_id).to be_nil
165
165
  end
166
166
  end
167
167
 
@@ -186,7 +186,7 @@ describe Mongoid::Relations::Cascading do
186
186
  end
187
187
 
188
188
  it "removes the references to the removed document" do
189
- from_db.ratable_id.should be_nil
189
+ expect(from_db.ratable_id).to be_nil
190
190
  end
191
191
  end
192
192
 
@@ -197,7 +197,7 @@ describe Mongoid::Relations::Cascading do
197
197
  end
198
198
 
199
199
  it "returns nil" do
200
- book.send(method).should be_true
200
+ expect(book.send(method)).to be true
201
201
  end
202
202
  end
203
203
  end
@@ -221,11 +221,11 @@ describe Mongoid::Relations::Cascading do
221
221
  end
222
222
 
223
223
  it "removes the references from the removed document" do
224
- person.preference_ids.should_not include(preference.id)
224
+ expect(person.preference_ids).to_not include(preference.id)
225
225
  end
226
226
 
227
227
  it "removes the references to the removed document" do
228
- from_db.person_ids.should_not include(person.id)
228
+ expect(from_db.person_ids).to_not include(person.id)
229
229
  end
230
230
  end
231
231
  end
@@ -250,12 +250,12 @@ describe Mongoid::Relations::Cascading do
250
250
  end
251
251
 
252
252
  it "raises no error" do
253
- expect{ person.send(method) }.to_not raise_error(Mongoid::Errors::DeleteRestriction)
253
+ expect{ person.send(method) }.to_not raise_error
254
254
  end
255
255
 
256
256
  it "deletes the parent" do
257
257
  person.send(method)
258
- person.should be_destroyed
258
+ expect(person).to be_destroyed
259
259
  end
260
260
  end
261
261
 
@@ -289,12 +289,12 @@ describe Mongoid::Relations::Cascading do
289
289
  end
290
290
 
291
291
  it "raises no error" do
292
- expect{ person.send(method) }.to_not raise_error(Mongoid::Errors::DeleteRestriction)
292
+ expect{ person.send(method) }.to_not raise_error
293
293
  end
294
294
 
295
295
  it "deletes the parent" do
296
296
  person.send(method)
297
- person.should be_destroyed
297
+ expect(person).to be_destroyed
298
298
  end
299
299
  end
300
300
 
@@ -328,12 +328,12 @@ describe Mongoid::Relations::Cascading do
328
328
  end
329
329
 
330
330
  it "raises no error" do
331
- expect{ person.send(method) }.to_not raise_error(Mongoid::Errors::DeleteRestriction)
331
+ expect{ person.send(method) }.to_not raise_error
332
332
  end
333
333
 
334
334
  it "deletes the parent" do
335
335
  person.send(method)
336
- person.should be_destroyed
336
+ expect(person).to be_destroyed
337
337
  end
338
338
  end
339
339
 
@@ -9,9 +9,10 @@ describe Mongoid::Relations::Constraint do
9
9
  before(:all) do
10
10
  Person.field(
11
11
  :_id,
12
- type: Moped::BSON::ObjectId,
12
+ type: BSON::ObjectId,
13
13
  pre_processed: true,
14
- default: ->{ Moped::BSON::ObjectId.new }
14
+ default: ->{ BSON::ObjectId.new },
15
+ overwrite: true
15
16
  )
16
17
  end
17
18
 
@@ -31,22 +32,22 @@ describe Mongoid::Relations::Constraint do
31
32
  context "when provided an object id" do
32
33
 
33
34
  let(:object) do
34
- Moped::BSON::ObjectId.new
35
+ BSON::ObjectId.new
35
36
  end
36
37
 
37
38
  it "returns the object id" do
38
- constraint.convert(object).should eq(object)
39
+ expect(constraint.convert(object)).to eq(object)
39
40
  end
40
41
  end
41
42
 
42
43
  context "when provided a string" do
43
44
 
44
45
  let(:object) do
45
- Moped::BSON::ObjectId.new
46
+ BSON::ObjectId.new
46
47
  end
47
48
 
48
49
  it "returns an object id from the string" do
49
- constraint.convert(object.to_s).should eq(object)
50
+ expect(constraint.convert(object.to_s)).to eq(object)
50
51
  end
51
52
  end
52
53
  end
@@ -67,7 +68,7 @@ describe Mongoid::Relations::Constraint do
67
68
  end
68
69
 
69
70
  it "returns the object" do
70
- constraint.convert("testing").should eq("testing")
71
+ expect(constraint.convert("testing")).to eq("testing")
71
72
  end
72
73
  end
73
74
  end
@@ -11,7 +11,7 @@ describe Mongoid::Relations::Conversions do
11
11
  end
12
12
 
13
13
  let(:object) do
14
- Moped::BSON::ObjectId.new
14
+ BSON::ObjectId.new
15
15
  end
16
16
 
17
17
  let(:flagged) do
@@ -19,7 +19,7 @@ describe Mongoid::Relations::Conversions do
19
19
  end
20
20
 
21
21
  it "returns the object" do
22
- flagged.should eq(object)
22
+ expect(flagged).to eq(object)
23
23
  end
24
24
  end
25
25
 
@@ -30,16 +30,18 @@ describe Mongoid::Relations::Conversions do
30
30
  :_id,
31
31
  type: String,
32
32
  pre_processed: true,
33
- default: ->{ Moped::BSON::ObjectId.new.to_s }
33
+ overwrite: true,
34
+ default: ->{ BSON::ObjectId.new.to_s }
34
35
  )
35
36
  end
36
37
 
37
38
  after do
38
39
  Person.field(
39
40
  :_id,
40
- type: Moped::BSON::ObjectId,
41
+ type: BSON::ObjectId,
41
42
  pre_processed: true,
42
- default: ->{ Moped::BSON::ObjectId.new }
43
+ overwrite: true,
44
+ default: ->{ BSON::ObjectId.new }
43
45
  )
44
46
  end
45
47
 
@@ -50,7 +52,7 @@ describe Mongoid::Relations::Conversions do
50
52
  context "when provided an object id" do
51
53
 
52
54
  let(:object) do
53
- Moped::BSON::ObjectId.new
55
+ BSON::ObjectId.new
54
56
  end
55
57
 
56
58
  let(:flagged) do
@@ -58,14 +60,14 @@ describe Mongoid::Relations::Conversions do
58
60
  end
59
61
 
60
62
  it "returns the object id" do
61
- flagged.should eq(object)
63
+ expect(flagged).to eq(object)
62
64
  end
63
65
  end
64
66
 
65
67
  context "when provided a string" do
66
68
 
67
69
  let(:object) do
68
- Moped::BSON::ObjectId.new.to_s
70
+ BSON::ObjectId.new.to_s
69
71
  end
70
72
 
71
73
  let(:flagged) do
@@ -73,11 +75,11 @@ describe Mongoid::Relations::Conversions do
73
75
  end
74
76
 
75
77
  it "returns the string" do
76
- flagged.should eq(object)
78
+ expect(flagged).to eq(object)
77
79
  end
78
80
 
79
81
  it "marks the string as unconvertable" do
80
- flagged.should be_unconvertable_to_bson
82
+ expect(flagged).to be_unconvertable_to_bson
81
83
  end
82
84
  end
83
85
  end
@@ -91,7 +93,7 @@ describe Mongoid::Relations::Conversions do
91
93
  context "when provided an object id" do
92
94
 
93
95
  let(:object) do
94
- Moped::BSON::ObjectId.new
96
+ BSON::ObjectId.new
95
97
  end
96
98
 
97
99
  let(:flagged) do
@@ -99,7 +101,7 @@ describe Mongoid::Relations::Conversions do
99
101
  end
100
102
 
101
103
  it "returns the object id" do
102
- flagged.should eq(object)
104
+ expect(flagged).to eq(object)
103
105
  end
104
106
  end
105
107
 
@@ -114,11 +116,11 @@ describe Mongoid::Relations::Conversions do
114
116
  end
115
117
 
116
118
  it "returns the integer" do
117
- flagged.should eq(15)
119
+ expect(flagged).to eq(15)
118
120
  end
119
121
 
120
122
  it "marks the integer as unconvertable" do
121
- flagged.should be_unconvertable_to_bson
123
+ expect(flagged).to be_unconvertable_to_bson
122
124
  end
123
125
  end
124
126
  end