mongoid 3.1.6 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +479 -8
  3. data/README.md +10 -7
  4. data/lib/config/locales/en.yml +34 -20
  5. data/lib/mongoid.rb +10 -76
  6. data/lib/mongoid/atomic.rb +3 -14
  7. data/lib/mongoid/atomic/paths/embedded.rb +0 -30
  8. data/lib/mongoid/atomic/paths/embedded/many.rb +1 -1
  9. data/lib/mongoid/atomic/paths/embedded/one.rb +1 -1
  10. data/lib/mongoid/atomic/paths/root.rb +0 -13
  11. data/lib/mongoid/attributes.rb +65 -101
  12. data/lib/mongoid/attributes/dynamic.rb +154 -0
  13. data/lib/mongoid/attributes/nested.rb +82 -0
  14. data/lib/mongoid/attributes/processing.rb +13 -66
  15. data/lib/mongoid/{dirty.rb → changeable.rb} +32 -2
  16. data/lib/mongoid/composable.rb +105 -0
  17. data/lib/mongoid/config.rb +3 -9
  18. data/lib/mongoid/config/options.rb +1 -1
  19. data/lib/mongoid/contextual.rb +2 -0
  20. data/lib/mongoid/contextual/aggregable/memory.rb +2 -2
  21. data/lib/mongoid/contextual/aggregable/mongo.rb +7 -9
  22. data/lib/mongoid/contextual/atomic.rb +53 -53
  23. data/lib/mongoid/contextual/geo_near.rb +1 -1
  24. data/lib/mongoid/contextual/map_reduce.rb +4 -2
  25. data/lib/mongoid/contextual/memory.rb +23 -11
  26. data/lib/mongoid/contextual/mongo.rb +75 -57
  27. data/lib/mongoid/contextual/none.rb +90 -0
  28. data/lib/mongoid/contextual/text_search.rb +178 -0
  29. data/lib/mongoid/copyable.rb +2 -3
  30. data/lib/mongoid/criteria.rb +39 -34
  31. data/lib/mongoid/criteria/#findable.rb# +141 -0
  32. data/lib/mongoid/{criterion → criteria}/findable.rb +7 -47
  33. data/lib/mongoid/{criterion/inspection.rb → criteria/inspectable.rb} +2 -2
  34. data/lib/mongoid/{criterion → criteria}/marshalable.rb +3 -1
  35. data/lib/mongoid/{criterion → criteria}/modifiable.rb +28 -8
  36. data/lib/mongoid/criteria/permission.rb +70 -0
  37. data/lib/mongoid/{criterion/scoping.rb → criteria/scopable.rb} +2 -2
  38. data/lib/mongoid/document.rb +39 -24
  39. data/lib/mongoid/errors.rb +4 -1
  40. data/lib/mongoid/errors/document_not_destroyed.rb +25 -0
  41. data/lib/mongoid/errors/document_not_found.rb +2 -1
  42. data/lib/mongoid/errors/invalid_storage_options.rb +1 -1
  43. data/lib/mongoid/errors/invalid_storage_parent.rb +26 -0
  44. data/lib/mongoid/errors/invalid_value.rb +16 -0
  45. data/lib/mongoid/errors/mongoid_error.rb +1 -1
  46. data/lib/mongoid/errors/readonly_document.rb +24 -0
  47. data/lib/mongoid/extensions.rb +15 -7
  48. data/lib/mongoid/extensions/array.rb +3 -3
  49. data/lib/mongoid/extensions/big_decimal.rb +1 -1
  50. data/lib/mongoid/extensions/boolean.rb +15 -17
  51. data/lib/mongoid/extensions/date.rb +1 -1
  52. data/lib/mongoid/extensions/date_time.rb +3 -3
  53. data/lib/mongoid/extensions/float.rb +2 -1
  54. data/lib/mongoid/extensions/hash.rb +3 -3
  55. data/lib/mongoid/extensions/integer.rb +1 -1
  56. data/lib/mongoid/extensions/object.rb +7 -7
  57. data/lib/mongoid/extensions/object_id.rb +5 -5
  58. data/lib/mongoid/extensions/range.rb +9 -3
  59. data/lib/mongoid/extensions/regexp.rb +1 -1
  60. data/lib/mongoid/extensions/set.rb +1 -1
  61. data/lib/mongoid/extensions/string.rb +6 -18
  62. data/lib/mongoid/extensions/symbol.rb +1 -1
  63. data/lib/mongoid/extensions/time.rb +3 -3
  64. data/lib/mongoid/extensions/time_with_zone.rb +1 -1
  65. data/lib/mongoid/factory.rb +8 -6
  66. data/lib/mongoid/fields.rb +41 -8
  67. data/lib/mongoid/fields/foreign_key.rb +3 -3
  68. data/lib/mongoid/fields/localized.rb +1 -1
  69. data/lib/mongoid/fields/standard.rb +5 -17
  70. data/lib/mongoid/fields/validators/macro.rb +15 -5
  71. data/lib/mongoid/{finders.rb → findable.rb} +35 -7
  72. data/lib/mongoid/{indexes.rb → indexable.rb} +50 -55
  73. data/lib/mongoid/indexable/specification.rb +104 -0
  74. data/lib/mongoid/{indexes → indexable}/validators/options.rb +2 -1
  75. data/lib/mongoid/{inspection.rb → inspectable.rb} +15 -11
  76. data/lib/mongoid/{callbacks.rb → interceptable.rb} +30 -62
  77. data/lib/mongoid/log_subscriber.rb +55 -0
  78. data/lib/mongoid/matchable.rb +152 -0
  79. data/lib/mongoid/{matchers → matchable}/all.rb +1 -1
  80. data/lib/mongoid/{matchers → matchable}/and.rb +2 -2
  81. data/lib/mongoid/{matchers → matchable}/default.rb +1 -1
  82. data/lib/mongoid/{matchers → matchable}/exists.rb +1 -1
  83. data/lib/mongoid/{matchers → matchable}/gt.rb +1 -1
  84. data/lib/mongoid/{matchers → matchable}/gte.rb +1 -1
  85. data/lib/mongoid/{matchers → matchable}/in.rb +2 -2
  86. data/lib/mongoid/{matchers → matchable}/lt.rb +1 -1
  87. data/lib/mongoid/{matchers → matchable}/lte.rb +1 -1
  88. data/lib/mongoid/{matchers → matchable}/ne.rb +2 -2
  89. data/lib/mongoid/{matchers → matchable}/nin.rb +3 -2
  90. data/lib/mongoid/{matchers → matchable}/or.rb +2 -2
  91. data/lib/mongoid/{matchers → matchable}/size.rb +1 -1
  92. data/lib/mongoid/persistable.rb +216 -0
  93. data/lib/mongoid/persistable/creatable.rb +189 -0
  94. data/lib/mongoid/persistable/deletable.rb +149 -0
  95. data/lib/mongoid/persistable/destroyable.rb +60 -0
  96. data/lib/mongoid/persistable/incrementable.rb +36 -0
  97. data/lib/mongoid/persistable/logical.rb +38 -0
  98. data/lib/mongoid/persistable/poppable.rb +39 -0
  99. data/lib/mongoid/persistable/pullable.rb +55 -0
  100. data/lib/mongoid/persistable/pushable.rb +62 -0
  101. data/lib/mongoid/persistable/renamable.rb +35 -0
  102. data/lib/mongoid/persistable/savable.rb +52 -0
  103. data/lib/mongoid/persistable/settable.rb +33 -0
  104. data/lib/mongoid/persistable/unsettable.rb +36 -0
  105. data/lib/mongoid/persistable/updatable.rb +153 -0
  106. data/lib/mongoid/persistable/upsertable.rb +55 -0
  107. data/lib/mongoid/positional.rb +71 -0
  108. data/lib/mongoid/query_cache.rb +255 -0
  109. data/lib/mongoid/railtie.rb +34 -60
  110. data/lib/mongoid/railties/database.rake +9 -25
  111. data/lib/mongoid/relations.rb +11 -25
  112. data/lib/mongoid/relations/accessors.rb +15 -51
  113. data/lib/mongoid/relations/auto_save.rb +15 -36
  114. data/lib/mongoid/relations/binding.rb +2 -25
  115. data/lib/mongoid/relations/bindings/embedded/in.rb +1 -1
  116. data/lib/mongoid/relations/bindings/embedded/many.rb +1 -3
  117. data/lib/mongoid/relations/bindings/referenced/in.rb +3 -8
  118. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +4 -2
  119. data/lib/mongoid/relations/builder.rb +1 -1
  120. data/lib/mongoid/relations/builders.rb +2 -2
  121. data/lib/mongoid/relations/builders/embedded/one.rb +1 -1
  122. data/lib/mongoid/relations/builders/nested_attributes/many.rb +10 -13
  123. data/lib/mongoid/relations/builders/nested_attributes/one.rb +5 -6
  124. data/lib/mongoid/relations/builders/referenced/in.rb +1 -1
  125. data/lib/mongoid/relations/builders/referenced/many.rb +1 -2
  126. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -2
  127. data/lib/mongoid/relations/builders/referenced/one.rb +1 -1
  128. data/lib/mongoid/relations/cascading.rb +3 -5
  129. data/lib/mongoid/relations/constraint.rb +1 -1
  130. data/lib/mongoid/relations/conversions.rb +1 -1
  131. data/lib/mongoid/relations/counter_cache.rb +39 -15
  132. data/lib/mongoid/relations/eager.rb +46 -0
  133. data/lib/mongoid/relations/eager/base.rb +149 -0
  134. data/lib/mongoid/relations/eager/belongs_to.rb +31 -0
  135. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +47 -0
  136. data/lib/mongoid/relations/eager/has_many.rb +38 -0
  137. data/lib/mongoid/relations/eager/has_one.rb +30 -0
  138. data/lib/mongoid/relations/embedded/batchable.rb +4 -5
  139. data/lib/mongoid/relations/embedded/in.rb +4 -4
  140. data/lib/mongoid/relations/embedded/many.rb +14 -32
  141. data/lib/mongoid/relations/embedded/one.rb +1 -1
  142. data/lib/mongoid/relations/macros.rb +3 -4
  143. data/lib/mongoid/relations/many.rb +51 -31
  144. data/lib/mongoid/relations/marshalable.rb +3 -3
  145. data/lib/mongoid/relations/metadata.rb +14 -79
  146. data/lib/mongoid/relations/nested_builder.rb +2 -2
  147. data/lib/mongoid/relations/one.rb +1 -1
  148. data/lib/mongoid/relations/options.rb +1 -0
  149. data/lib/mongoid/relations/polymorphic.rb +0 -1
  150. data/lib/mongoid/relations/proxy.rb +21 -41
  151. data/lib/mongoid/relations/referenced/in.rb +4 -20
  152. data/lib/mongoid/relations/referenced/many.rb +22 -35
  153. data/lib/mongoid/relations/referenced/many_to_many.rb +19 -42
  154. data/lib/mongoid/relations/referenced/one.rb +6 -25
  155. data/lib/mongoid/relations/synchronization.rb +4 -4
  156. data/lib/mongoid/relations/targets/enumerable.rb +10 -10
  157. data/lib/mongoid/relations/touchable.rb +34 -1
  158. data/lib/mongoid/{reloading.rb → reloadable.rb} +7 -5
  159. data/lib/mongoid/{scoping.rb → scopable.rb} +36 -36
  160. data/lib/mongoid/selectable.rb +59 -0
  161. data/lib/mongoid/{serialization.rb → serializable.rb} +11 -2
  162. data/lib/mongoid/sessions.rb +37 -345
  163. data/lib/mongoid/sessions/factory.rb +2 -0
  164. data/lib/mongoid/sessions/options.rb +185 -0
  165. data/lib/mongoid/sessions/storage_options.rb +140 -0
  166. data/lib/mongoid/sessions/thread_options.rb +19 -0
  167. data/lib/mongoid/sessions/validators/storage.rb +16 -3
  168. data/lib/mongoid/{sharding.rb → shardable.rb} +5 -1
  169. data/lib/mongoid/{state.rb → stateful.rb} +13 -1
  170. data/lib/mongoid/support/query_counter.rb +23 -0
  171. data/lib/mongoid/tasks/database.rake +31 -0
  172. data/lib/mongoid/tasks/database.rb +107 -0
  173. data/lib/mongoid/threaded.rb +26 -172
  174. data/lib/mongoid/threaded/lifecycle.rb +0 -28
  175. data/lib/mongoid/timestamps/updated/short.rb +2 -2
  176. data/lib/mongoid/{hierarchy.rb → traversable.rb} +15 -7
  177. data/lib/mongoid/{validations.rb → validatable.rb} +23 -10
  178. data/lib/mongoid/{validations → validatable}/associated.rb +4 -2
  179. data/lib/mongoid/{validations → validatable}/format.rb +1 -1
  180. data/lib/mongoid/{validations → validatable}/length.rb +1 -1
  181. data/lib/mongoid/{validations → validatable}/localizable.rb +1 -1
  182. data/lib/mongoid/{validations → validatable}/macros.rb +4 -3
  183. data/lib/mongoid/{validations → validatable}/presence.rb +1 -1
  184. data/lib/mongoid/{validations → validatable}/queryable.rb +1 -2
  185. data/lib/mongoid/{validations → validatable}/uniqueness.rb +25 -21
  186. data/lib/mongoid/version.rb +1 -1
  187. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +46 -25
  188. data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
  189. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +0 -3
  190. data/lib/rails/generators/mongoid_generator.rb +3 -40
  191. data/lib/rails/mongoid.rb +0 -122
  192. data/lib/support/ruby_version.rb +1 -1
  193. data/spec/app/models/account.rb +2 -6
  194. data/spec/app/models/acolyte.rb +2 -1
  195. data/spec/app/models/actor.rb +0 -1
  196. data/spec/app/models/address.rb +8 -3
  197. data/spec/app/models/animal.rb +1 -1
  198. data/spec/app/models/appointment.rb +3 -3
  199. data/spec/app/models/article.rb +1 -4
  200. data/spec/app/models/audio.rb +5 -0
  201. data/spec/app/models/author.rb +0 -2
  202. data/spec/app/models/band.rb +3 -2
  203. data/spec/app/models/bar.rb +1 -0
  204. data/spec/app/models/book.rb +1 -0
  205. data/spec/app/models/building.rb +0 -2
  206. data/spec/app/models/building_address.rb +0 -2
  207. data/spec/app/models/bus.rb +1 -1
  208. data/spec/app/models/canvas.rb +1 -1
  209. data/spec/app/models/contextable_item.rb +5 -0
  210. data/spec/app/models/contractor.rb +0 -2
  211. data/spec/app/models/country_code.rb +1 -1
  212. data/spec/app/models/definition.rb +2 -2
  213. data/spec/app/models/dog.rb +1 -1
  214. data/spec/app/models/draft.rb +9 -0
  215. data/spec/app/models/dragon.rb +4 -0
  216. data/spec/app/models/drug.rb +1 -3
  217. data/spec/app/models/dungeon.rb +4 -0
  218. data/spec/app/models/edit.rb +5 -0
  219. data/spec/app/models/even.rb +7 -0
  220. data/spec/app/models/event.rb +1 -1
  221. data/spec/app/models/filesystem.rb +1 -0
  222. data/spec/app/models/fish.rb +0 -1
  223. data/spec/app/models/fruits.rb +6 -0
  224. data/spec/app/models/game.rb +0 -2
  225. data/spec/app/models/house.rb +1 -3
  226. data/spec/app/models/id_key.rb +6 -0
  227. data/spec/app/models/item.rb +1 -5
  228. data/spec/app/models/jar.rb +1 -1
  229. data/spec/app/models/label.rb +4 -4
  230. data/spec/app/models/line_item.rb +1 -1
  231. data/spec/app/models/login.rb +1 -1
  232. data/spec/app/models/message.rb +8 -0
  233. data/spec/app/models/movie.rb +1 -0
  234. data/spec/app/models/name.rb +3 -3
  235. data/spec/app/models/note.rb +3 -1
  236. data/spec/app/models/odd.rb +7 -0
  237. data/spec/app/models/oscar.rb +1 -1
  238. data/spec/app/models/parent_doc.rb +1 -1
  239. data/spec/app/models/person.rb +16 -10
  240. data/spec/app/models/phone.rb +1 -3
  241. data/spec/app/models/player.rb +3 -3
  242. data/spec/app/models/post.rb +5 -3
  243. data/spec/app/models/preference.rb +1 -1
  244. data/spec/app/models/quiz.rb +0 -3
  245. data/spec/app/models/record.rb +10 -5
  246. data/spec/app/models/registry.rb +1 -1
  247. data/spec/app/models/server.rb +1 -1
  248. data/spec/app/models/service.rb +3 -3
  249. data/spec/app/models/sound.rb +5 -0
  250. data/spec/app/models/symptom.rb +1 -1
  251. data/spec/app/models/template.rb +1 -1
  252. data/spec/app/models/title.rb +0 -1
  253. data/spec/app/models/track.rb +5 -5
  254. data/spec/app/models/tree.rb +3 -3
  255. data/spec/app/models/video.rb +1 -5
  256. data/spec/app/models/wiki_page.rb +2 -5
  257. data/spec/app/models/word.rb +3 -0
  258. data/spec/app/models/word_origin.rb +1 -1
  259. data/spec/config/mongoid.yml +7 -8
  260. data/spec/helpers.rb +18 -0
  261. data/spec/mongoid/#atomic_spec.rb# +365 -0
  262. data/spec/mongoid/atomic/modifiers_spec.rb +22 -22
  263. data/spec/mongoid/atomic/paths/embedded/many_spec.rb +8 -49
  264. data/spec/mongoid/atomic/paths/embedded/one_spec.rb +7 -49
  265. data/spec/mongoid/atomic/paths/root_spec.rb +3 -61
  266. data/spec/mongoid/atomic/paths_spec.rb +19 -19
  267. data/spec/mongoid/atomic_spec.rb +19 -19
  268. data/spec/mongoid/{nested_attributes_spec.rb → attributes/nested_spec.rb} +474 -592
  269. data/spec/mongoid/attributes/readonly_spec.rb +58 -18
  270. data/spec/mongoid/attributes_spec.rb +349 -434
  271. data/spec/mongoid/{dirty_spec.rb → changeable_spec.rb} +203 -153
  272. data/spec/mongoid/{components_spec.rb → composable_spec.rb} +3 -3
  273. data/spec/mongoid/config/environment_spec.rb +3 -3
  274. data/spec/mongoid/config/options_spec.rb +6 -6
  275. data/spec/mongoid/config_spec.rb +24 -48
  276. data/spec/mongoid/contextual/aggregable/memory_spec.rb +12 -12
  277. data/spec/mongoid/contextual/aggregable/mongo_spec.rb +78 -38
  278. data/spec/mongoid/contextual/atomic_spec.rb +60 -56
  279. data/spec/mongoid/contextual/find_and_modify_spec.rb +14 -14
  280. data/spec/mongoid/contextual/geo_near_spec.rb +22 -22
  281. data/spec/mongoid/contextual/map_reduce_spec.rb +27 -27
  282. data/spec/mongoid/contextual/memory_spec.rb +156 -94
  283. data/spec/mongoid/contextual/mongo_spec.rb +238 -150
  284. data/spec/mongoid/contextual/none_spec.rb +127 -0
  285. data/spec/mongoid/contextual/text_search_spec.rb +209 -0
  286. data/spec/mongoid/copyable_spec.rb +56 -68
  287. data/spec/mongoid/criteria/findable_spec.rb +991 -0
  288. data/spec/mongoid/{criterion/inspection_spec.rb → criteria/inspectable_spec.rb} +5 -5
  289. data/spec/mongoid/{criterion → criteria}/marshalable_spec.rb +2 -2
  290. data/spec/mongoid/criteria/modifiable_spec.rb +1252 -0
  291. data/spec/mongoid/{criterion/scoping_spec.rb → criteria/scopable_spec.rb} +37 -37
  292. data/spec/mongoid/criteria_spec.rb +715 -2421
  293. data/spec/mongoid/document_spec.rb +171 -121
  294. data/spec/mongoid/equality_spec.rb +22 -22
  295. data/spec/mongoid/errors/ambiguous_relationship_spec.rb +3 -3
  296. data/spec/mongoid/errors/callback_spec.rb +3 -3
  297. data/spec/mongoid/errors/delete_restriction_spec.rb +3 -3
  298. data/spec/mongoid/errors/document_not_destroyed_spec.rb +33 -0
  299. data/spec/mongoid/errors/document_not_found_spec.rb +11 -11
  300. data/spec/mongoid/errors/eager_load_spec.rb +3 -3
  301. data/spec/mongoid/errors/invalid_collection_spec.rb +3 -3
  302. data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -3
  303. data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -3
  304. data/spec/mongoid/errors/invalid_field_spec.rb +3 -3
  305. data/spec/mongoid/errors/invalid_find_spec.rb +3 -3
  306. data/spec/mongoid/errors/invalid_includes_spec.rb +3 -3
  307. data/spec/mongoid/errors/invalid_index_spec.rb +3 -3
  308. data/spec/mongoid/errors/invalid_options_spec.rb +3 -3
  309. data/spec/mongoid/errors/invalid_path_spec.rb +3 -3
  310. data/spec/mongoid/errors/invalid_scope_spec.rb +5 -5
  311. data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -3
  312. data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -3
  313. data/spec/mongoid/errors/invalid_time_spec.rb +3 -3
  314. data/spec/mongoid/errors/inverse_not_found_spec.rb +3 -3
  315. data/spec/mongoid/errors/mixed_relations_spec.rb +3 -3
  316. data/spec/mongoid/errors/mixed_session_configuration_spec.rb +3 -3
  317. data/spec/mongoid/errors/mongoid_error_spec.rb +8 -8
  318. data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +3 -3
  319. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  320. data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -3
  321. data/spec/mongoid/errors/no_metadata_spec.rb +3 -3
  322. data/spec/mongoid/errors/no_parent_spec.rb +3 -3
  323. data/spec/mongoid/errors/no_session_config_spec.rb +3 -3
  324. data/spec/mongoid/errors/no_session_database_spec.rb +3 -3
  325. data/spec/mongoid/errors/no_session_hosts_spec.rb +3 -3
  326. data/spec/mongoid/errors/no_sessions_config_spec.rb +3 -3
  327. data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -3
  328. data/spec/mongoid/errors/readonly_document_spec.rb +29 -0
  329. data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -3
  330. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -3
  331. data/spec/mongoid/errors/unknown_attribute_spec.rb +5 -5
  332. data/spec/mongoid/errors/unsaved_document_spec.rb +3 -3
  333. data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -3
  334. data/spec/mongoid/errors/validations_spec.rb +7 -7
  335. data/spec/mongoid/extensions/array_spec.rb +61 -61
  336. data/spec/mongoid/extensions/big_decimal_spec.rb +11 -11
  337. data/spec/mongoid/extensions/binary_spec.rb +12 -12
  338. data/spec/mongoid/extensions/boolean_spec.rb +18 -18
  339. data/spec/mongoid/extensions/date_spec.rb +13 -13
  340. data/spec/mongoid/extensions/date_time_spec.rb +8 -8
  341. data/spec/mongoid/extensions/false_class_spec.rb +5 -5
  342. data/spec/mongoid/extensions/float_spec.rb +29 -15
  343. data/spec/mongoid/extensions/hash_spec.rb +29 -29
  344. data/spec/mongoid/extensions/integer_spec.rb +15 -15
  345. data/spec/mongoid/extensions/module_spec.rb +2 -2
  346. data/spec/mongoid/extensions/nil_class_spec.rb +1 -1
  347. data/spec/mongoid/extensions/object_id_spec.rb +134 -134
  348. data/spec/mongoid/extensions/object_spec.rb +26 -26
  349. data/spec/mongoid/extensions/range_spec.rb +61 -12
  350. data/spec/mongoid/extensions/regexp_spec.rb +4 -4
  351. data/spec/mongoid/extensions/set_spec.rb +4 -4
  352. data/spec/mongoid/extensions/string_spec.rb +35 -46
  353. data/spec/mongoid/extensions/symbol_spec.rb +9 -9
  354. data/spec/mongoid/extensions/time_spec.rb +49 -49
  355. data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -34
  356. data/spec/mongoid/extensions/true_class_spec.rb +5 -5
  357. data/spec/mongoid/extensions_spec.rb +29 -0
  358. data/spec/mongoid/factory_spec.rb +15 -15
  359. data/spec/mongoid/fields/foreign_key_spec.rb +73 -66
  360. data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +15 -15
  361. data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +22 -22
  362. data/spec/mongoid/fields/localized_spec.rb +38 -23
  363. data/spec/mongoid/fields/standard_spec.rb +12 -12
  364. data/spec/mongoid/fields_spec.rb +263 -217
  365. data/spec/mongoid/findable_spec.rb +509 -0
  366. data/spec/mongoid/indexable/specification_spec.rb +102 -0
  367. data/spec/mongoid/{indexes_spec.rb → indexable_spec.rb} +171 -51
  368. data/spec/mongoid/{inspection_spec.rb → inspectable_spec.rb} +6 -14
  369. data/spec/mongoid/{callbacks_spec.rb → interceptable_spec.rb} +117 -116
  370. data/spec/mongoid/log_subscriber_spec.rb +75 -0
  371. data/spec/mongoid/loggable_spec.rb +1 -1
  372. data/spec/mongoid/{matchers → matchable}/all_spec.rb +4 -4
  373. data/spec/mongoid/{matchers → matchable}/and_spec.rb +11 -11
  374. data/spec/mongoid/{matchers → matchable}/default_spec.rb +15 -15
  375. data/spec/mongoid/{matchers → matchable}/exists_spec.rb +5 -5
  376. data/spec/mongoid/{matchers → matchable}/gt_spec.rb +9 -8
  377. data/spec/mongoid/{matchers → matchable}/gte_spec.rb +7 -7
  378. data/spec/mongoid/matchable/in_spec.rb +49 -0
  379. data/spec/mongoid/{matchers → matchable}/lt_spec.rb +7 -7
  380. data/spec/mongoid/{matchers → matchable}/lte_spec.rb +7 -7
  381. data/spec/mongoid/matchable/ne_spec.rb +46 -0
  382. data/spec/mongoid/matchable/nin_spec.rb +48 -0
  383. data/spec/mongoid/{matchers → matchable}/or_spec.rb +6 -6
  384. data/spec/mongoid/{matchers → matchable}/size_spec.rb +3 -3
  385. data/spec/mongoid/{matchers_spec.rb → matchable_spec.rb} +41 -41
  386. data/spec/mongoid/persistable/creatable_spec.rb +553 -0
  387. data/spec/mongoid/persistable/deletable_spec.rb +218 -0
  388. data/spec/mongoid/persistable/destroyable_spec.rb +192 -0
  389. data/spec/mongoid/persistable/incrementable_spec.rb +173 -0
  390. data/spec/mongoid/persistable/logical_spec.rb +143 -0
  391. data/spec/mongoid/persistable/poppable_spec.rb +115 -0
  392. data/spec/mongoid/persistable/pullable_spec.rb +228 -0
  393. data/spec/mongoid/persistable/pushable_spec.rb +258 -0
  394. data/spec/mongoid/persistable/renamable_spec.rb +135 -0
  395. data/spec/mongoid/persistable/savable_spec.rb +498 -0
  396. data/spec/mongoid/persistable/settable_spec.rb +162 -0
  397. data/spec/mongoid/persistable/unsettable_spec.rb +155 -0
  398. data/spec/mongoid/persistable/updatable_spec.rb +558 -0
  399. data/spec/mongoid/persistable/upsertable_spec.rb +106 -0
  400. data/spec/mongoid/persistable_spec.rb +206 -0
  401. data/spec/mongoid/{atomic/positionable_spec.rb → positional_spec.rb} +14 -19
  402. data/spec/mongoid/query_cache_spec.rb +263 -0
  403. data/spec/mongoid/railties/document_spec.rb +2 -2
  404. data/spec/mongoid/relations/accessors_spec.rb +53 -145
  405. data/spec/mongoid/relations/auto_save_spec.rb +37 -17
  406. data/spec/mongoid/relations/bindings/embedded/in_spec.rb +12 -12
  407. data/spec/mongoid/relations/bindings/embedded/many_spec.rb +3 -3
  408. data/spec/mongoid/relations/bindings/embedded/one_spec.rb +5 -5
  409. data/spec/mongoid/relations/bindings/referenced/in_spec.rb +26 -26
  410. data/spec/mongoid/relations/bindings/referenced/many_spec.rb +10 -10
  411. data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +19 -19
  412. data/spec/mongoid/relations/bindings/referenced/one_spec.rb +12 -12
  413. data/spec/mongoid/relations/builders/embedded/in_spec.rb +4 -4
  414. data/spec/mongoid/relations/builders/embedded/many_spec.rb +18 -18
  415. data/spec/mongoid/relations/builders/embedded/one_spec.rb +11 -11
  416. data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +12 -13
  417. data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +14 -14
  418. data/spec/mongoid/relations/builders/referenced/in_spec.rb +24 -35
  419. data/spec/mongoid/relations/builders/referenced/many_spec.rb +15 -15
  420. data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +18 -18
  421. data/spec/mongoid/relations/builders/referenced/one_spec.rb +12 -25
  422. data/spec/mongoid/relations/builders_spec.rb +21 -21
  423. data/spec/mongoid/relations/cascading/delete_spec.rb +9 -9
  424. data/spec/mongoid/relations/cascading/destroy_spec.rb +6 -6
  425. data/spec/mongoid/relations/cascading/nullify_spec.rb +4 -4
  426. data/spec/mongoid/relations/cascading/restrict_spec.rb +7 -7
  427. data/spec/mongoid/relations/cascading_spec.rb +16 -16
  428. data/spec/mongoid/relations/constraint_spec.rb +8 -7
  429. data/spec/mongoid/relations/conversions_spec.rb +16 -14
  430. data/spec/mongoid/relations/counter_cache_spec.rb +85 -0
  431. data/spec/mongoid/relations/cyclic_spec.rb +18 -18
  432. data/spec/mongoid/relations/eager/belongs_to_spec.rb +154 -0
  433. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +117 -0
  434. data/spec/mongoid/relations/eager/has_many_spec.rb +207 -0
  435. data/spec/mongoid/relations/eager/has_one_spec.rb +163 -0
  436. data/spec/mongoid/relations/eager_spec.rb +228 -0
  437. data/spec/mongoid/relations/embedded/dirty_spec.rb +8 -8
  438. data/spec/mongoid/relations/embedded/in_spec.rb +56 -57
  439. data/spec/mongoid/relations/embedded/many_spec.rb +467 -372
  440. data/spec/mongoid/relations/embedded/one_spec.rb +108 -141
  441. data/spec/mongoid/relations/macros_spec.rb +108 -102
  442. data/spec/mongoid/relations/metadata_spec.rb +180 -255
  443. data/spec/mongoid/relations/options_spec.rb +1 -1
  444. data/spec/mongoid/relations/polymorphic_spec.rb +13 -17
  445. data/spec/mongoid/relations/proxy_spec.rb +2 -2
  446. data/spec/mongoid/relations/referenced/in_spec.rb +128 -303
  447. data/spec/mongoid/relations/referenced/many_spec.rb +587 -527
  448. data/spec/mongoid/relations/referenced/many_to_many_spec.rb +401 -424
  449. data/spec/mongoid/relations/referenced/one_spec.rb +149 -264
  450. data/spec/mongoid/relations/reflections_spec.rb +6 -6
  451. data/spec/mongoid/relations/synchronization_spec.rb +46 -50
  452. data/spec/mongoid/relations/targets/enumerable_spec.rb +118 -118
  453. data/spec/mongoid/relations/touchable_spec.rb +333 -0
  454. data/spec/mongoid/relations_spec.rb +16 -15
  455. data/spec/mongoid/{reloading_spec.rb → reloadable_spec.rb} +38 -55
  456. data/spec/mongoid/{scoping_spec.rb → scopable_spec.rb} +89 -164
  457. data/spec/mongoid/selectable_spec.rb +134 -0
  458. data/spec/mongoid/{serialization_spec.rb → serializable_spec.rb} +129 -82
  459. data/spec/mongoid/sessions/factory_spec.rb +49 -28
  460. data/spec/mongoid/sessions/mongo_uri_spec.rb +7 -7
  461. data/spec/mongoid/sessions/options_spec.rb +108 -0
  462. data/spec/mongoid/sessions_spec.rb +319 -178
  463. data/spec/mongoid/{sharding_spec.rb → shardable_spec.rb} +8 -8
  464. data/spec/mongoid/{state_spec.rb → stateful_spec.rb} +36 -11
  465. data/spec/mongoid/tasks/database_rake_spec.rb +285 -0
  466. data/spec/mongoid/tasks/database_spec.rb +160 -0
  467. data/spec/mongoid/threaded_spec.rb +17 -70
  468. data/spec/mongoid/timestamps/created/short_spec.rb +6 -6
  469. data/spec/mongoid/timestamps/created_spec.rb +5 -5
  470. data/spec/mongoid/timestamps/timeless_spec.rb +6 -6
  471. data/spec/mongoid/timestamps/updated/short_spec.rb +11 -11
  472. data/spec/mongoid/timestamps/updated_spec.rb +9 -13
  473. data/spec/mongoid/timestamps_spec.rb +9 -13
  474. data/spec/mongoid/{hierarchy_spec.rb → traversable_spec.rb} +19 -19
  475. data/spec/mongoid/{validations → validatable}/associated_spec.rb +45 -22
  476. data/spec/mongoid/{validations → validatable}/format_spec.rb +6 -6
  477. data/spec/mongoid/{validations → validatable}/length_spec.rb +14 -14
  478. data/spec/mongoid/{validations → validatable}/numericality_spec.rb +1 -1
  479. data/spec/mongoid/{validations → validatable}/presence_spec.rb +37 -44
  480. data/spec/mongoid/{validations → validatable}/uniqueness_spec.rb +184 -192
  481. data/spec/mongoid/{validations_spec.rb → validatable_spec.rb} +28 -28
  482. data/spec/mongoid_spec.rb +8 -8
  483. data/spec/rails/mongoid_spec.rb +19 -335
  484. data/spec/spec_helper.rb +31 -13
  485. metadata +303 -283
  486. data/lib/mongoid/atomic/positionable.rb +0 -73
  487. data/lib/mongoid/components.rb +0 -92
  488. data/lib/mongoid/config/inflections.rb +0 -6
  489. data/lib/mongoid/contextual/eager.rb +0 -158
  490. data/lib/mongoid/errors/versioning_not_on_root.rb +0 -23
  491. data/lib/mongoid/identity_map.rb +0 -163
  492. data/lib/mongoid/json.rb +0 -16
  493. data/lib/mongoid/matchers.rb +0 -32
  494. data/lib/mongoid/matchers/strategies.rb +0 -97
  495. data/lib/mongoid/multi_parameter_attributes.rb +0 -105
  496. data/lib/mongoid/nested_attributes.rb +0 -78
  497. data/lib/mongoid/observer.rb +0 -192
  498. data/lib/mongoid/paranoia.rb +0 -136
  499. data/lib/mongoid/persistence.rb +0 -357
  500. data/lib/mongoid/persistence/atomic.rb +0 -231
  501. data/lib/mongoid/persistence/atomic/add_to_set.rb +0 -47
  502. data/lib/mongoid/persistence/atomic/bit.rb +0 -35
  503. data/lib/mongoid/persistence/atomic/inc.rb +0 -45
  504. data/lib/mongoid/persistence/atomic/operation.rb +0 -154
  505. data/lib/mongoid/persistence/atomic/pop.rb +0 -32
  506. data/lib/mongoid/persistence/atomic/pull.rb +0 -32
  507. data/lib/mongoid/persistence/atomic/pull_all.rb +0 -32
  508. data/lib/mongoid/persistence/atomic/push.rb +0 -25
  509. data/lib/mongoid/persistence/atomic/push_all.rb +0 -25
  510. data/lib/mongoid/persistence/atomic/rename.rb +0 -30
  511. data/lib/mongoid/persistence/atomic/sets.rb +0 -28
  512. data/lib/mongoid/persistence/atomic/unset.rb +0 -27
  513. data/lib/mongoid/persistence/deletion.rb +0 -31
  514. data/lib/mongoid/persistence/insertion.rb +0 -38
  515. data/lib/mongoid/persistence/modification.rb +0 -35
  516. data/lib/mongoid/persistence/operations.rb +0 -214
  517. data/lib/mongoid/persistence/operations/embedded/insert.rb +0 -46
  518. data/lib/mongoid/persistence/operations/embedded/remove.rb +0 -43
  519. data/lib/mongoid/persistence/operations/insert.rb +0 -34
  520. data/lib/mongoid/persistence/operations/remove.rb +0 -33
  521. data/lib/mongoid/persistence/operations/update.rb +0 -59
  522. data/lib/mongoid/persistence/operations/upsert.rb +0 -28
  523. data/lib/mongoid/persistence/upsertion.rb +0 -31
  524. data/lib/mongoid/unit_of_work.rb +0 -61
  525. data/lib/mongoid/versioning.rb +0 -217
  526. data/lib/rack/mongoid.rb +0 -2
  527. data/lib/rack/mongoid/middleware/identity_map.rb +0 -39
  528. data/lib/rails/generators/mongoid/observer/observer_generator.rb +0 -17
  529. data/lib/rails/generators/mongoid/observer/templates/observer.rb.tt +0 -4
  530. data/spec/app/models/actor_observer.rb +0 -15
  531. data/spec/app/models/callback_recorder.rb +0 -25
  532. data/spec/app/models/paranoid_phone.rb +0 -25
  533. data/spec/app/models/paranoid_post.rb +0 -36
  534. data/spec/app/models/phone_observer.rb +0 -6
  535. data/spec/mongoid/attributes/processing_spec.rb +0 -149
  536. data/spec/mongoid/criterion/destructive_spec.rb +0 -101
  537. data/spec/mongoid/criterion/modifiable_spec.rb +0 -409
  538. data/spec/mongoid/criterion/modification_spec.rb +0 -402
  539. data/spec/mongoid/errors/versioning_not_on_root_spec.rb +0 -29
  540. data/spec/mongoid/finders_spec.rb +0 -321
  541. data/spec/mongoid/identity_map_spec.rb +0 -564
  542. data/spec/mongoid/json_spec.rb +0 -33
  543. data/spec/mongoid/matchers/in_spec.rb +0 -25
  544. data/spec/mongoid/matchers/ne_spec.rb +0 -25
  545. data/spec/mongoid/matchers/nin_spec.rb +0 -25
  546. data/spec/mongoid/multi_parameter_attributes_spec.rb +0 -128
  547. data/spec/mongoid/observer_spec.rb +0 -290
  548. data/spec/mongoid/paranoia_spec.rb +0 -759
  549. data/spec/mongoid/persistence/atomic/add_to_set_spec.rb +0 -262
  550. data/spec/mongoid/persistence/atomic/bit_spec.rb +0 -88
  551. data/spec/mongoid/persistence/atomic/inc_spec.rb +0 -133
  552. data/spec/mongoid/persistence/atomic/pop_spec.rb +0 -111
  553. data/spec/mongoid/persistence/atomic/pull_all_spec.rb +0 -77
  554. data/spec/mongoid/persistence/atomic/pull_spec.rb +0 -80
  555. data/spec/mongoid/persistence/atomic/push_all_spec.rb +0 -77
  556. data/spec/mongoid/persistence/atomic/push_spec.rb +0 -77
  557. data/spec/mongoid/persistence/atomic/rename_spec.rb +0 -42
  558. data/spec/mongoid/persistence/atomic/sets_spec.rb +0 -154
  559. data/spec/mongoid/persistence/atomic/unset_spec.rb +0 -65
  560. data/spec/mongoid/persistence/atomic_spec.rb +0 -216
  561. data/spec/mongoid/persistence/operations/embedded/insert_spec.rb +0 -191
  562. data/spec/mongoid/persistence/operations/embedded/remove_spec.rb +0 -8
  563. data/spec/mongoid/persistence/operations/insert_spec.rb +0 -149
  564. data/spec/mongoid/persistence/operations/remove_spec.rb +0 -113
  565. data/spec/mongoid/persistence/operations/update_spec.rb +0 -141
  566. data/spec/mongoid/persistence/operations/upsert_spec.rb +0 -59
  567. data/spec/mongoid/persistence/operations_spec.rb +0 -313
  568. data/spec/mongoid/persistence_spec.rb +0 -2279
  569. data/spec/mongoid/unit_of_work_spec.rb +0 -196
  570. data/spec/mongoid/versioning_spec.rb +0 -540
  571. data/spec/rack/mongoid/middleware/identity_map_spec.rb +0 -72
@@ -36,7 +36,7 @@ describe Mongoid::Relations::Referenced::One do
36
36
  end
37
37
 
38
38
  it "does not raise an error" do
39
- user.role.should eq(role)
39
+ expect(user.role).to eq(role)
40
40
  end
41
41
  end
42
42
 
@@ -57,28 +57,28 @@ describe Mongoid::Relations::Referenced::One do
57
57
  end
58
58
 
59
59
  before do
60
- metadata.should_receive(:criteria).never
60
+ expect(metadata).to receive(:criteria).never
61
61
  person.game = game
62
62
  end
63
63
 
64
64
  it "sets the target of the relation" do
65
- person.game.target.should eq(game)
65
+ expect(person.game.target).to eq(game)
66
66
  end
67
67
 
68
68
  it "sets the foreign key on the relation" do
69
- game.person_id.should eq(person.id)
69
+ expect(game.person_id).to eq(person.id)
70
70
  end
71
71
 
72
72
  it "sets the base on the inverse relation" do
73
- game.person.should eq(person)
73
+ expect(game.person).to eq(person)
74
74
  end
75
75
 
76
76
  it "sets the same instance on the inverse relation" do
77
- game.person.should eql(person)
77
+ expect(game.person).to eql(person)
78
78
  end
79
79
 
80
80
  it "does not save the target" do
81
- game.should_not be_persisted
81
+ expect(game).to_not be_persisted
82
82
  end
83
83
  end
84
84
 
@@ -97,23 +97,23 @@ describe Mongoid::Relations::Referenced::One do
97
97
  end
98
98
 
99
99
  it "sets the target of the relation" do
100
- person.game.target.should eq(game)
100
+ expect(person.game.target).to eq(game)
101
101
  end
102
102
 
103
103
  it "sets the foreign key of the relation" do
104
- game.person_id.should eq(person.id)
104
+ expect(game.person_id).to eq(person.id)
105
105
  end
106
106
 
107
107
  it "sets the base on the inverse relation" do
108
- game.person.should eq(person)
108
+ expect(game.person).to eq(person)
109
109
  end
110
110
 
111
111
  it "sets the same instance on the inverse relation" do
112
- game.person.should eql(person)
112
+ expect(game.person).to eql(person)
113
113
  end
114
114
 
115
115
  it "saves the target" do
116
- game.should be_persisted
116
+ expect(game).to be_persisted
117
117
  end
118
118
 
119
119
  context "when reloading the parent" do
@@ -152,23 +152,23 @@ describe Mongoid::Relations::Referenced::One do
152
152
  end
153
153
 
154
154
  it "sets the target of the relation" do
155
- person.cat.target.should eq(cat)
155
+ expect(person.cat.target).to eq(cat)
156
156
  end
157
157
 
158
158
  it "sets the foreign key of the relation" do
159
- cat.person_id.should eq(person.username)
159
+ expect(cat.person_id).to eq(person.username)
160
160
  end
161
161
 
162
162
  it "sets the base on the inverse relation" do
163
- cat.person.should eq(person)
163
+ expect(cat.person).to eq(person)
164
164
  end
165
165
 
166
166
  it "sets the same instance on the inverse relation" do
167
- cat.person.should eql(person)
167
+ expect(cat.person).to eql(person)
168
168
  end
169
169
 
170
170
  it "saves the target" do
171
- cat.should be_persisted
171
+ expect(cat).to be_persisted
172
172
  end
173
173
  end
174
174
  end
@@ -190,23 +190,23 @@ describe Mongoid::Relations::Referenced::One do
190
190
  end
191
191
 
192
192
  it "sets the target of the relation" do
193
- bar.rating.target.should eq(rating)
193
+ expect(bar.rating.target).to eq(rating)
194
194
  end
195
195
 
196
196
  it "sets the foreign key on the relation" do
197
- rating.ratable_id.should eq(bar.id)
197
+ expect(rating.ratable_id).to eq(bar.id)
198
198
  end
199
199
 
200
200
  it "sets the base on the inverse relation" do
201
- rating.ratable.should eq(bar)
201
+ expect(rating.ratable).to eq(bar)
202
202
  end
203
203
 
204
204
  it "sets the same instance on the inverse relation" do
205
- rating.ratable.should eql(bar)
205
+ expect(rating.ratable).to eql(bar)
206
206
  end
207
207
 
208
208
  it "does not save the target" do
209
- rating.should_not be_persisted
209
+ expect(rating).to_not be_persisted
210
210
  end
211
211
  end
212
212
 
@@ -225,23 +225,23 @@ describe Mongoid::Relations::Referenced::One do
225
225
  end
226
226
 
227
227
  it "sets the target of the relation" do
228
- bar.rating.target.should eq(rating)
228
+ expect(bar.rating.target).to eq(rating)
229
229
  end
230
230
 
231
231
  it "sets the foreign key of the relation" do
232
- rating.ratable_id.should eq(bar.id)
232
+ expect(rating.ratable_id).to eq(bar.id)
233
233
  end
234
234
 
235
235
  it "sets the base on the inverse relation" do
236
- rating.ratable.should eq(bar)
236
+ expect(rating.ratable).to eq(bar)
237
237
  end
238
238
 
239
239
  it "sets the same instance on the inverse relation" do
240
- rating.ratable.should eql(bar)
240
+ expect(rating.ratable).to eql(bar)
241
241
  end
242
242
 
243
243
  it "saves the target" do
244
- rating.should be_persisted
244
+ expect(rating).to be_persisted
245
245
  end
246
246
  end
247
247
 
@@ -262,27 +262,27 @@ describe Mongoid::Relations::Referenced::One do
262
262
  end
263
263
 
264
264
  it "sets the new relation on the parent" do
265
- person.game.should eq(new_game)
265
+ expect(person.game).to eq(new_game)
266
266
  end
267
267
 
268
268
  it "removes the old foreign key reference" do
269
- game.person_id.should be_nil
269
+ expect(game.person_id).to be_nil
270
270
  end
271
271
 
272
272
  it "removes the reference to the parent" do
273
- game.person.should be_nil
273
+ expect(game.person).to be_nil
274
274
  end
275
275
 
276
276
  it "destroys the old child" do
277
- game.should be_destroyed
277
+ expect(game).to be_destroyed
278
278
  end
279
279
 
280
280
  it "leaves the old child unpersisted" do
281
- game.persisted?.should be_false
281
+ expect(game.persisted?).to be false
282
282
  end
283
283
 
284
284
  it "leaves the new child persisted" do
285
- new_game.persisted?.should be_true
285
+ expect(new_game.persisted?).to be true
286
286
  end
287
287
  end
288
288
 
@@ -293,27 +293,27 @@ describe Mongoid::Relations::Referenced::One do
293
293
  end
294
294
 
295
295
  it "sets the new relation on the parent" do
296
- person.game.should eq(new_game)
296
+ expect(person.game).to eq(new_game)
297
297
  end
298
298
 
299
299
  it "removes the old foreign key reference" do
300
- game.person_id.should be_nil
300
+ expect(game.person_id).to be_nil
301
301
  end
302
302
 
303
303
  it "removes the reference to the parent" do
304
- game.person.should be_nil
304
+ expect(game.person).to be_nil
305
305
  end
306
306
 
307
307
  it "does not destroy the old child" do
308
- game.should_not be_destroyed
308
+ expect(game).to_not be_destroyed
309
309
  end
310
310
 
311
311
  it "leaves the old child persisted" do
312
- game.persisted?.should be_true
312
+ expect(game.persisted?).to be true
313
313
  end
314
314
 
315
315
  it "leaves the new child unpersisted" do
316
- new_game.persisted?.should be_false
316
+ expect(new_game.persisted?).to be false
317
317
  end
318
318
  end
319
319
  end
@@ -335,27 +335,27 @@ describe Mongoid::Relations::Referenced::One do
335
335
  end
336
336
 
337
337
  it "sets the new relation on the parent" do
338
- person.game.should eq(new_game)
338
+ expect(person.game).to eq(new_game)
339
339
  end
340
340
 
341
341
  it "removes the old foreign key reference" do
342
- game.person_id.should be_nil
342
+ expect(game.person_id).to be_nil
343
343
  end
344
344
 
345
345
  it "removes the reference to the parent" do
346
- game.person.should be_nil
346
+ expect(game.person).to be_nil
347
347
  end
348
348
 
349
349
  it "destroys the old child" do
350
- game.should be_destroyed
350
+ expect(game).to be_destroyed
351
351
  end
352
352
 
353
353
  it "leaves the old child unpersisted" do
354
- game.persisted?.should be_false
354
+ expect(game.persisted?).to be false
355
355
  end
356
356
 
357
357
  it "leaves the new child persisted" do
358
- new_game.persisted?.should be_true
358
+ expect(new_game.persisted?).to be true
359
359
  end
360
360
  end
361
361
 
@@ -366,27 +366,27 @@ describe Mongoid::Relations::Referenced::One do
366
366
  end
367
367
 
368
368
  it "sets the new relation on the parent" do
369
- person.game.should eq(new_game)
369
+ expect(person.game).to eq(new_game)
370
370
  end
371
371
 
372
372
  it "removes the old foreign key reference" do
373
- game.person_id.should be_nil
373
+ expect(game.person_id).to be_nil
374
374
  end
375
375
 
376
376
  it "removes the reference to the parent" do
377
- game.person.should be_nil
377
+ expect(game.person).to be_nil
378
378
  end
379
379
 
380
380
  it "does not destroy the old child" do
381
- game.should_not be_destroyed
381
+ expect(game).to_not be_destroyed
382
382
  end
383
383
 
384
384
  it "leaves the old child unpersisted" do
385
- game.persisted?.should be_false
385
+ expect(game.persisted?).to be false
386
386
  end
387
387
 
388
388
  it "leaves the new child unpersisted" do
389
- new_game.persisted?.should be_false
389
+ expect(new_game.persisted?).to be false
390
390
  end
391
391
  end
392
392
  end
@@ -408,27 +408,27 @@ describe Mongoid::Relations::Referenced::One do
408
408
  end
409
409
 
410
410
  it "sets the new relation on the parent" do
411
- person.cat.should eq(new_cat)
411
+ expect(person.cat).to eq(new_cat)
412
412
  end
413
413
 
414
414
  it "removes the old foreign key reference" do
415
- cat.person_id.should be_nil
415
+ expect(cat.person_id).to be_nil
416
416
  end
417
417
 
418
418
  it "removes the reference to the parent" do
419
- cat.person.should be_nil
419
+ expect(cat.person).to be_nil
420
420
  end
421
421
 
422
422
  it "does not destroy the old child" do
423
- cat.should_not be_destroyed
423
+ expect(cat).to_not be_destroyed
424
424
  end
425
425
 
426
426
  it "leaves the old child persisted" do
427
- cat.persisted?.should be_true
427
+ expect(cat.persisted?).to be true
428
428
  end
429
429
 
430
430
  it "leaves the new child persisted" do
431
- new_cat.persisted?.should be_true
431
+ expect(new_cat.persisted?).to be true
432
432
  end
433
433
  end
434
434
 
@@ -439,27 +439,27 @@ describe Mongoid::Relations::Referenced::One do
439
439
  end
440
440
 
441
441
  it "sets the new relation on the parent" do
442
- person.cat.should eq(new_cat)
442
+ expect(person.cat).to eq(new_cat)
443
443
  end
444
444
 
445
445
  it "removes the old foreign key reference" do
446
- cat.person_id.should be_nil
446
+ expect(cat.person_id).to be_nil
447
447
  end
448
448
 
449
449
  it "removes the reference to the parent" do
450
- cat.person.should be_nil
450
+ expect(cat.person).to be_nil
451
451
  end
452
452
 
453
453
  it "does not destroy the old child" do
454
- cat.should_not be_destroyed
454
+ expect(cat).to_not be_destroyed
455
455
  end
456
456
 
457
457
  it "leaves the old child persisted" do
458
- cat.persisted?.should be_true
458
+ expect(cat.persisted?).to be true
459
459
  end
460
460
 
461
461
  it "leaves the new child unpersisted" do
462
- new_cat.persisted?.should be_false
462
+ expect(new_cat.persisted?).to be false
463
463
  end
464
464
  end
465
465
  end
@@ -481,27 +481,27 @@ describe Mongoid::Relations::Referenced::One do
481
481
  end
482
482
 
483
483
  it "sets the new relation on the parent" do
484
- person.cat.should eq(new_cat)
484
+ expect(person.cat).to eq(new_cat)
485
485
  end
486
486
 
487
487
  it "removes the old foreign key reference" do
488
- cat.person_id.should be_nil
488
+ expect(cat.person_id).to be_nil
489
489
  end
490
490
 
491
491
  it "removes the reference to the parent" do
492
- cat.person.should be_nil
492
+ expect(cat.person).to be_nil
493
493
  end
494
494
 
495
495
  it "does not destroy the old child" do
496
- cat.should_not be_destroyed
496
+ expect(cat).to_not be_destroyed
497
497
  end
498
498
 
499
499
  it "leaves the old child unpersisted" do
500
- cat.persisted?.should be_false
500
+ expect(cat.persisted?).to be false
501
501
  end
502
502
 
503
503
  it "leaves the new child persisted" do
504
- new_cat.persisted?.should be_true
504
+ expect(new_cat.persisted?).to be true
505
505
  end
506
506
  end
507
507
 
@@ -512,27 +512,27 @@ describe Mongoid::Relations::Referenced::One do
512
512
  end
513
513
 
514
514
  it "sets the new relation on the parent" do
515
- person.cat.should eq(new_cat)
515
+ expect(person.cat).to eq(new_cat)
516
516
  end
517
517
 
518
518
  it "removes the old foreign key reference" do
519
- cat.person_id.should be_nil
519
+ expect(cat.person_id).to be_nil
520
520
  end
521
521
 
522
522
  it "removes the reference to the parent" do
523
- cat.person.should be_nil
523
+ expect(cat.person).to be_nil
524
524
  end
525
525
 
526
526
  it "does not destroy the old child" do
527
- cat.should_not be_destroyed
527
+ expect(cat).to_not be_destroyed
528
528
  end
529
529
 
530
530
  it "leaves the old child unpersisted" do
531
- cat.persisted?.should be_false
531
+ expect(cat.persisted?).to be false
532
532
  end
533
533
 
534
534
  it "leaves the new child unpersisted" do
535
- new_cat.persisted?.should be_false
535
+ expect(new_cat.persisted?).to be false
536
536
  end
537
537
  end
538
538
  end
@@ -558,19 +558,19 @@ describe Mongoid::Relations::Referenced::One do
558
558
  end
559
559
 
560
560
  it "sets the new relation on the parent" do
561
- person.game.should eq(new_game)
561
+ expect(person.game).to eq(new_game)
562
562
  end
563
563
 
564
564
  it "removes the old foreign key reference" do
565
- game.person_id.should be_nil
565
+ expect(game.person_id).to be_nil
566
566
  end
567
567
 
568
568
  it "removes the reference to the parent" do
569
- game.person.should be_nil
569
+ expect(game.person).to be_nil
570
570
  end
571
571
 
572
572
  it "destroys the old child" do
573
- game.should be_destroyed
573
+ expect(game).to be_destroyed
574
574
  end
575
575
  end
576
576
 
@@ -589,19 +589,19 @@ describe Mongoid::Relations::Referenced::One do
589
589
  end
590
590
 
591
591
  it "sets the new relation on the parent" do
592
- person.account.should eq(new_account)
592
+ expect(person.account).to eq(new_account)
593
593
  end
594
594
 
595
595
  it "removes the old foreign key reference" do
596
- account.person_id.should be_nil
596
+ expect(account.person_id).to be_nil
597
597
  end
598
598
 
599
599
  it "removes the reference to the parent" do
600
- account.person.should be_nil
600
+ expect(account.person).to be_nil
601
601
  end
602
602
 
603
603
  it "nullifies the old child" do
604
- account.should_not be_destroyed
604
+ expect(account).to_not be_destroyed
605
605
  end
606
606
  end
607
607
  end
@@ -628,15 +628,15 @@ describe Mongoid::Relations::Referenced::One do
628
628
  end
629
629
 
630
630
  it "sets the relation to nil" do
631
- person.game.should be_nil
631
+ expect(person.game).to be_nil
632
632
  end
633
633
 
634
634
  it "removed the inverse relation" do
635
- game.person.should be_nil
635
+ expect(game.person).to be_nil
636
636
  end
637
637
 
638
638
  it "removes the foreign key value" do
639
- game.person_id.should be_nil
639
+ expect(game.person_id).to be_nil
640
640
  end
641
641
  end
642
642
 
@@ -656,19 +656,19 @@ describe Mongoid::Relations::Referenced::One do
656
656
  end
657
657
 
658
658
  it "sets the relation to nil" do
659
- person.game.should be_nil
659
+ expect(person.game).to be_nil
660
660
  end
661
661
 
662
662
  it "removed the inverse relation" do
663
- game.person.should be_nil
663
+ expect(game.person).to be_nil
664
664
  end
665
665
 
666
666
  it "removes the foreign key value" do
667
- game.person_id.should be_nil
667
+ expect(game.person_id).to be_nil
668
668
  end
669
669
 
670
670
  it "deletes the target from the database" do
671
- game.should be_destroyed
671
+ expect(game).to be_destroyed
672
672
  end
673
673
  end
674
674
  end
@@ -691,15 +691,15 @@ describe Mongoid::Relations::Referenced::One do
691
691
  end
692
692
 
693
693
  it "sets the relation to nil" do
694
- bar.rating.should be_nil
694
+ expect(bar.rating).to be_nil
695
695
  end
696
696
 
697
697
  it "removed the inverse relation" do
698
- rating.ratable.should be_nil
698
+ expect(rating.ratable).to be_nil
699
699
  end
700
700
 
701
701
  it "removes the foreign key value" do
702
- rating.ratable_id.should be_nil
702
+ expect(rating.ratable_id).to be_nil
703
703
  end
704
704
  end
705
705
 
@@ -719,19 +719,19 @@ describe Mongoid::Relations::Referenced::One do
719
719
  end
720
720
 
721
721
  it "sets the relation to nil" do
722
- bar.rating.should be_nil
722
+ expect(bar.rating).to be_nil
723
723
  end
724
724
 
725
725
  it "removed the inverse relation" do
726
- rating.ratable.should be_nil
726
+ expect(rating.ratable).to be_nil
727
727
  end
728
728
 
729
729
  it "removes the foreign key value" do
730
- rating.ratable_id.should be_nil
730
+ expect(rating.ratable_id).to be_nil
731
731
  end
732
732
 
733
733
  it "applies the appropriate dependent option" do
734
- rating.should_not be_destroyed
734
+ expect(rating).to_not be_destroyed
735
735
  end
736
736
  end
737
737
  end
@@ -739,27 +739,6 @@ describe Mongoid::Relations::Referenced::One do
739
739
 
740
740
  describe "#build_#\{name}" do
741
741
 
742
- context "when using mass assignment scoping" do
743
-
744
- let(:person) do
745
- Person.new
746
- end
747
-
748
- let(:account) do
749
- person.build_account(
750
- { name: "bank", balance: "big" }, as: :admin
751
- )
752
- end
753
-
754
- it "allows setting of fields for the role" do
755
- account.name.should eq("bank")
756
- end
757
-
758
- it "does not set fields not allowed for the role" do
759
- account.balance.should be_nil
760
- end
761
- end
762
-
763
742
  context "when the relationship is an illegal embedded reference" do
764
743
 
765
744
  let(:game) do
@@ -786,19 +765,19 @@ describe Mongoid::Relations::Referenced::One do
786
765
  end
787
766
 
788
767
  it "returns a new document" do
789
- game.score.should eq(50)
768
+ expect(game.score).to eq(50)
790
769
  end
791
770
 
792
771
  it "sets the foreign key on the document" do
793
- game.person_id.should eq(person.id)
772
+ expect(game.person_id).to eq(person.id)
794
773
  end
795
774
 
796
775
  it "sets the inverse relation" do
797
- game.person.should eq(person)
776
+ expect(game.person).to eq(person)
798
777
  end
799
778
 
800
779
  it "does not save the built document" do
801
- game.should_not be_persisted
780
+ expect(game).to_not be_persisted
802
781
  end
803
782
  end
804
783
 
@@ -813,15 +792,15 @@ describe Mongoid::Relations::Referenced::One do
813
792
  end
814
793
 
815
794
  it "sets the foreign key on the document" do
816
- game.person_id.should eq(person.id)
795
+ expect(game.person_id).to eq(person.id)
817
796
  end
818
797
 
819
798
  it "sets the inverse relation" do
820
- game.person.should eq(person)
799
+ expect(game.person).to eq(person)
821
800
  end
822
801
 
823
802
  it "does not save the built document" do
824
- game.should_not be_persisted
803
+ expect(game).to_not be_persisted
825
804
  end
826
805
  end
827
806
 
@@ -836,15 +815,15 @@ describe Mongoid::Relations::Referenced::One do
836
815
  end
837
816
 
838
817
  it "sets the foreign key on the document" do
839
- game.person_id.should eq(person.id)
818
+ expect(game.person_id).to eq(person.id)
840
819
  end
841
820
 
842
821
  it "sets the inverse relation" do
843
- game.person.should eq(person)
822
+ expect(game.person).to eq(person)
844
823
  end
845
824
 
846
825
  it "does not save the built document" do
847
- game.should_not be_persisted
826
+ expect(game).to_not be_persisted
848
827
  end
849
828
  end
850
829
  end
@@ -862,19 +841,19 @@ describe Mongoid::Relations::Referenced::One do
862
841
  end
863
842
 
864
843
  it "returns a new document" do
865
- rating.value.should eq(5)
844
+ expect(rating.value).to eq(5)
866
845
  end
867
846
 
868
847
  it "sets the foreign key on the document" do
869
- rating.ratable_id.should eq(bar.id)
848
+ expect(rating.ratable_id).to eq(bar.id)
870
849
  end
871
850
 
872
851
  it "sets the inverse relation" do
873
- rating.ratable.should eq(bar)
852
+ expect(rating.ratable).to eq(bar)
874
853
  end
875
854
 
876
855
  it "does not save the built document" do
877
- rating.should_not be_persisted
856
+ expect(rating).to_not be_persisted
878
857
  end
879
858
  end
880
859
  end
@@ -887,42 +866,22 @@ describe Mongoid::Relations::Referenced::One do
887
866
  end
888
867
 
889
868
  let(:document) do
890
- stub
869
+ double
891
870
  end
892
871
 
893
872
  let(:metadata) do
894
- stub(extension?: false)
873
+ double(extension?: false)
895
874
  end
896
875
 
897
876
  it "returns the embedded in builder" do
898
- described_class.builder(nil, metadata, document).should
899
- be_a_kind_of(builder_klass)
877
+ expect(
878
+ described_class.builder(nil, metadata, document)
879
+ ).to be_a_kind_of(builder_klass)
900
880
  end
901
881
  end
902
882
 
903
883
  describe "#create_#\{name}" do
904
884
 
905
- context "when using mass assignment scoping" do
906
-
907
- let(:person) do
908
- Person.create
909
- end
910
-
911
- let(:account) do
912
- person.create_account(
913
- { name: "bank", balance: "big" }, as: :admin
914
- )
915
- end
916
-
917
- it "allows setting of fields for the role" do
918
- account.name.should eq("bank")
919
- end
920
-
921
- it "does not set fields not allowed for the role" do
922
- account.balance.should be_nil
923
- end
924
- end
925
-
926
885
  context "when the relationship is an illegal embedded reference" do
927
886
 
928
887
  let(:game) do
@@ -947,19 +906,19 @@ describe Mongoid::Relations::Referenced::One do
947
906
  end
948
907
 
949
908
  it "returns a new document" do
950
- game.score.should eq(50)
909
+ expect(game.score).to eq(50)
951
910
  end
952
911
 
953
912
  it "sets the foreign key on the document" do
954
- game.person_id.should eq(person.id)
913
+ expect(game.person_id).to eq(person.id)
955
914
  end
956
915
 
957
916
  it "sets the inverse relation" do
958
- game.person.should eq(person)
917
+ expect(game.person).to eq(person)
959
918
  end
960
919
 
961
920
  it "saves the document" do
962
- game.should be_persisted
921
+ expect(game).to be_persisted
963
922
  end
964
923
  end
965
924
 
@@ -974,15 +933,15 @@ describe Mongoid::Relations::Referenced::One do
974
933
  end
975
934
 
976
935
  it "sets the foreign key on the document" do
977
- game.person_id.should eq(person.id)
936
+ expect(game.person_id).to eq(person.id)
978
937
  end
979
938
 
980
939
  it "sets the inverse relation" do
981
- game.person.should eq(person)
940
+ expect(game.person).to eq(person)
982
941
  end
983
942
 
984
943
  it "saves the document" do
985
- game.should be_persisted
944
+ expect(game).to be_persisted
986
945
  end
987
946
  end
988
947
 
@@ -997,15 +956,15 @@ describe Mongoid::Relations::Referenced::One do
997
956
  end
998
957
 
999
958
  it "sets the foreign key on the document" do
1000
- game.person_id.should eq(person.id)
959
+ expect(game.person_id).to eq(person.id)
1001
960
  end
1002
961
 
1003
962
  it "sets the inverse relation" do
1004
- game.person.should eq(person)
963
+ expect(game.person).to eq(person)
1005
964
  end
1006
965
 
1007
966
  it "saves the document" do
1008
- game.should be_persisted
967
+ expect(game).to be_persisted
1009
968
  end
1010
969
  end
1011
970
 
@@ -1020,19 +979,19 @@ describe Mongoid::Relations::Referenced::One do
1020
979
  end
1021
980
 
1022
981
  it "returns a new document" do
1023
- rating.value.should eq(5)
982
+ expect(rating.value).to eq(5)
1024
983
  end
1025
984
 
1026
985
  it "sets the foreign key on the document" do
1027
- rating.ratable_id.should eq(bar.id)
986
+ expect(rating.ratable_id).to eq(bar.id)
1028
987
  end
1029
988
 
1030
989
  it "sets the inverse relation" do
1031
- rating.ratable.should eq(bar)
990
+ expect(rating.ratable).to eq(bar)
1032
991
  end
1033
992
 
1034
993
  it "saves the document" do
1035
- rating.should be_persisted
994
+ expect(rating).to be_persisted
1036
995
  end
1037
996
  end
1038
997
  end
@@ -1040,7 +999,7 @@ describe Mongoid::Relations::Referenced::One do
1040
999
  describe ".criteria" do
1041
1000
 
1042
1001
  let(:id) do
1043
- Moped::BSON::ObjectId.new
1002
+ BSON::ObjectId.new
1044
1003
  end
1045
1004
 
1046
1005
  context "when the relation is polymorphic" do
@@ -1054,11 +1013,10 @@ describe Mongoid::Relations::Referenced::One do
1054
1013
  end
1055
1014
 
1056
1015
  it "includes the type in the criteria" do
1057
- criteria.selector.should eq(
1016
+ expect(criteria.selector).to eq(
1058
1017
  {
1059
1018
  "ratable_id" => id,
1060
- "ratable_type" => "Book",
1061
- "ratable_field" => { "$in" => [ :rating, nil ] }
1019
+ "ratable_type" => "Book"
1062
1020
  }
1063
1021
  )
1064
1022
  end
@@ -1075,80 +1033,7 @@ describe Mongoid::Relations::Referenced::One do
1075
1033
  end
1076
1034
 
1077
1035
  it "does not include the type in the criteria" do
1078
- criteria.selector.should eq({ "person_id" => id })
1079
- end
1080
- end
1081
- end
1082
-
1083
- describe ".eager_load" do
1084
-
1085
- before do
1086
- Mongoid.identity_map_enabled = true
1087
- end
1088
-
1089
- after do
1090
- Mongoid.identity_map_enabled = false
1091
- end
1092
-
1093
- context "when the relation is not polymorphic" do
1094
-
1095
- let!(:person) do
1096
- Person.create
1097
- end
1098
-
1099
- let!(:game) do
1100
- person.create_game(name: "Tron")
1101
- end
1102
-
1103
- let(:metadata) do
1104
- Person.relations["game"]
1105
- end
1106
-
1107
- let!(:eager) do
1108
- described_class.eager_load(metadata, Person.all.map(&:_id))
1109
- end
1110
-
1111
- let(:map) do
1112
- Mongoid::IdentityMap.get(Game, {"person_id" => person.id})
1113
- end
1114
-
1115
- it "puts the documents in the identity map" do
1116
- map.should eq(game)
1117
- end
1118
- end
1119
-
1120
- context "when the relation is polymorphic" do
1121
-
1122
- let!(:book) do
1123
- Book.create(name: "Game of Thrones")
1124
- end
1125
-
1126
- let!(:movie) do
1127
- Movie.create(name: "Bladerunner")
1128
- end
1129
-
1130
- let!(:movie_rating) do
1131
- movie.ratings.create(value: 10)
1132
- end
1133
-
1134
- let!(:book_rating) do
1135
- book.create_rating(value: 10)
1136
- end
1137
-
1138
- let(:metadata) do
1139
- Book.relations["rating"]
1140
- end
1141
-
1142
- let!(:eager) do
1143
- described_class.eager_load(metadata, Book.all.map(&:_id))
1144
- end
1145
-
1146
- let(:map) do
1147
- Mongoid::IdentityMap.get(Rating, {"ratable_id" => book.id})
1148
- end
1149
-
1150
- it "puts the documents in the identity map" do
1151
- map.should eq(book_rating)
1036
+ expect(criteria.selector).to eq({ "person_id" => id })
1152
1037
  end
1153
1038
  end
1154
1039
  end
@@ -1156,21 +1041,21 @@ describe Mongoid::Relations::Referenced::One do
1156
1041
  describe ".embedded?" do
1157
1042
 
1158
1043
  it "returns false" do
1159
- described_class.should_not be_embedded
1044
+ expect(described_class).to_not be_embedded
1160
1045
  end
1161
1046
  end
1162
1047
 
1163
1048
  describe ".foreign_key_suffix" do
1164
1049
 
1165
1050
  it "returns _id" do
1166
- described_class.foreign_key_suffix.should eq("_id")
1051
+ expect(described_class.foreign_key_suffix).to eq("_id")
1167
1052
  end
1168
1053
  end
1169
1054
 
1170
1055
  describe ".macro" do
1171
1056
 
1172
1057
  it "returns has_one" do
1173
- described_class.macro.should eq(:has_one)
1058
+ expect(described_class.macro).to eq(:has_one)
1174
1059
  end
1175
1060
  end
1176
1061
 
@@ -1191,11 +1076,11 @@ describe Mongoid::Relations::Referenced::One do
1191
1076
  end
1192
1077
 
1193
1078
  it "removes the foreign key from the target" do
1194
- game.person_id.should be_nil
1079
+ expect(game.person_id).to be_nil
1195
1080
  end
1196
1081
 
1197
1082
  it "removes the reference from the target" do
1198
- game.person.should be_nil
1083
+ expect(game.person).to be_nil
1199
1084
  end
1200
1085
  end
1201
1086
 
@@ -1214,11 +1099,11 @@ describe Mongoid::Relations::Referenced::One do
1214
1099
  end
1215
1100
 
1216
1101
  it "removes the foreign key from the target" do
1217
- game_reloaded.person_id.should be_nil
1102
+ expect(game_reloaded.person_id).to be_nil
1218
1103
  end
1219
1104
 
1220
1105
  it "removes the reference from the target" do
1221
- game_reloaded.person.should be_nil
1106
+ expect(game_reloaded.person).to be_nil
1222
1107
  end
1223
1108
  end
1224
1109
  end
@@ -1242,7 +1127,7 @@ describe Mongoid::Relations::Referenced::One do
1242
1127
  context "when checking #{method}" do
1243
1128
 
1244
1129
  it "returns true" do
1245
- document.respond_to?(method).should be_true
1130
+ expect(document.respond_to?(method)).to be true
1246
1131
  end
1247
1132
  end
1248
1133
  end
@@ -1251,14 +1136,14 @@ describe Mongoid::Relations::Referenced::One do
1251
1136
  describe ".stores_foreign_key?" do
1252
1137
 
1253
1138
  it "returns false" do
1254
- described_class.stores_foreign_key?.should be_false
1139
+ expect(described_class.stores_foreign_key?).to be false
1255
1140
  end
1256
1141
  end
1257
1142
 
1258
1143
  describe ".valid_options" do
1259
1144
 
1260
1145
  it "returns the valid options" do
1261
- described_class.valid_options.should eq(
1146
+ expect(described_class.valid_options).to eq(
1262
1147
  [ :as, :autobuild, :autosave, :dependent, :foreign_key, :primary_key ]
1263
1148
  )
1264
1149
  end
@@ -1267,7 +1152,7 @@ describe Mongoid::Relations::Referenced::One do
1267
1152
  describe ".validation_default" do
1268
1153
 
1269
1154
  it "returns true" do
1270
- described_class.validation_default.should be_true
1155
+ expect(described_class.validation_default).to be true
1271
1156
  end
1272
1157
  end
1273
1158
 
@@ -1301,11 +1186,11 @@ describe Mongoid::Relations::Referenced::One do
1301
1186
  end
1302
1187
 
1303
1188
  it "reloads the document from the database" do
1304
- reloaded.name.should eq("Diablo 2")
1189
+ expect(reloaded.name).to eq("Diablo 2")
1305
1190
  end
1306
1191
 
1307
1192
  it "sets a new document instance" do
1308
- reloaded.should_not equal(game_one)
1193
+ expect(reloaded).to_not equal(game_one)
1309
1194
  end
1310
1195
  end
1311
1196
 
@@ -1320,11 +1205,11 @@ describe Mongoid::Relations::Referenced::One do
1320
1205
  end
1321
1206
 
1322
1207
  it "reloads the new document from the database" do
1323
- reloaded.name.should eq("Starcraft 2")
1208
+ expect(reloaded.name).to eq("Starcraft 2")
1324
1209
  end
1325
1210
 
1326
1211
  it "sets a new document instance" do
1327
- reloaded.should_not equal(game_one)
1212
+ expect(reloaded).to_not equal(game_one)
1328
1213
  end
1329
1214
  end
1330
1215
  end