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
@@ -1,15 +1,11 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Mongoid::Inspection do
3
+ describe Mongoid::Inspectable do
4
4
 
5
5
  describe "#inspect" do
6
6
 
7
7
  context "when not allowing dynamic fields" do
8
8
 
9
- before do
10
- Mongoid.configure.allow_dynamic_fields = false
11
- end
12
-
13
9
  let(:person) do
14
10
  Person.new(title: "CEO")
15
11
  end
@@ -19,19 +15,19 @@ describe Mongoid::Inspection do
19
15
  end
20
16
 
21
17
  it "includes the model type" do
22
- inspected.should include("#<Person")
18
+ expect(inspected).to include("#<Person")
23
19
  end
24
20
 
25
21
  it "displays the id" do
26
- inspected.should include("_id: #{person.id}")
22
+ expect(inspected).to include("_id: #{person.id}")
27
23
  end
28
24
 
29
25
  it "displays defined fields" do
30
- inspected.should include("title: \"CEO\"")
26
+ expect(inspected).to include("title: \"CEO\"")
31
27
  end
32
28
 
33
29
  it "displays field aliases" do
34
- inspected.should include("t(test):")
30
+ expect(inspected).to include("t(test):")
35
31
  end
36
32
  end
37
33
 
@@ -45,12 +41,8 @@ describe Mongoid::Inspection do
45
41
  person.inspect
46
42
  end
47
43
 
48
- before do
49
- Mongoid.configure.allow_dynamic_fields = true
50
- end
51
-
52
44
  it "includes dynamic attributes" do
53
- inspected.should include("some_attribute: \"foo\"")
45
+ expect(inspected).to include("some_attribute: \"foo\"")
54
46
  end
55
47
  end
56
48
  end
@@ -1,9 +1,9 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Mongoid::Callbacks do
3
+ describe Mongoid::Interceptable do
4
4
 
5
5
  class TestClass
6
- include Mongoid::Callbacks
6
+ include Mongoid::Interceptable
7
7
 
8
8
  attr_reader :before_save_called, :after_save_called
9
9
 
@@ -23,51 +23,51 @@ describe Mongoid::Callbacks do
23
23
  end
24
24
 
25
25
  it "includes the before_create callback" do
26
- klass.should respond_to(:before_create)
26
+ expect(klass).to respond_to(:before_create)
27
27
  end
28
28
 
29
29
  it "includes the after_create callback" do
30
- klass.should respond_to(:after_create)
30
+ expect(klass).to respond_to(:after_create)
31
31
  end
32
32
 
33
33
  it "includes the before_destroy callback" do
34
- klass.should respond_to(:before_destroy)
34
+ expect(klass).to respond_to(:before_destroy)
35
35
  end
36
36
 
37
37
  it "includes the after_destroy callback" do
38
- klass.should respond_to(:after_destroy)
38
+ expect(klass).to respond_to(:after_destroy)
39
39
  end
40
40
 
41
41
  it "includes the before_save callback" do
42
- klass.should respond_to(:before_save)
42
+ expect(klass).to respond_to(:before_save)
43
43
  end
44
44
 
45
45
  it "includes the after_save callback" do
46
- klass.should respond_to(:after_save)
46
+ expect(klass).to respond_to(:after_save)
47
47
  end
48
48
 
49
49
  it "includes the before_update callback" do
50
- klass.should respond_to(:before_update)
50
+ expect(klass).to respond_to(:before_update)
51
51
  end
52
52
 
53
53
  it "includes the after_update callback" do
54
- klass.should respond_to(:after_update)
54
+ expect(klass).to respond_to(:after_update)
55
55
  end
56
56
 
57
57
  it "includes the before_validation callback" do
58
- klass.should respond_to(:before_validation)
58
+ expect(klass).to respond_to(:before_validation)
59
59
  end
60
60
 
61
61
  it "includes the after_validation callback" do
62
- klass.should respond_to(:after_validation)
62
+ expect(klass).to respond_to(:after_validation)
63
63
  end
64
64
 
65
65
  it "includes the after_initialize callback" do
66
- klass.should respond_to(:after_initialize)
66
+ expect(klass).to respond_to(:after_initialize)
67
67
  end
68
68
 
69
69
  it "includes the after_build callback" do
70
- klass.should respond_to(:after_build)
70
+ expect(klass).to respond_to(:after_build)
71
71
  end
72
72
  end
73
73
 
@@ -82,7 +82,7 @@ describe Mongoid::Callbacks do
82
82
  context "when when the document is instantiated" do
83
83
 
84
84
  it "does not execute the callback" do
85
- player.impressions.should eq(0)
85
+ expect(player.impressions).to eq(0)
86
86
  end
87
87
  end
88
88
 
@@ -93,7 +93,7 @@ describe Mongoid::Callbacks do
93
93
  end
94
94
 
95
95
  it "executes the callback" do
96
- from_db.impressions.should eq(1)
96
+ expect(from_db.impressions).to eq(1)
97
97
  end
98
98
  end
99
99
 
@@ -104,7 +104,7 @@ describe Mongoid::Callbacks do
104
104
  end
105
105
 
106
106
  it "executes the callback" do
107
- from_db.impressions.should eq(1)
107
+ expect(from_db.impressions).to eq(1)
108
108
  end
109
109
  end
110
110
 
@@ -119,7 +119,7 @@ describe Mongoid::Callbacks do
119
119
  end
120
120
 
121
121
  it "executes the callback" do
122
- from_db.impressions.should eq(1)
122
+ expect(from_db.impressions).to eq(1)
123
123
  end
124
124
  end
125
125
  end
@@ -133,7 +133,7 @@ describe Mongoid::Callbacks do
133
133
  context "when when the document is instantiated" do
134
134
 
135
135
  it "does not execute the callback" do
136
- implant.impressions.should eq(0)
136
+ expect(implant.impressions).to eq(0)
137
137
  end
138
138
  end
139
139
 
@@ -144,7 +144,7 @@ describe Mongoid::Callbacks do
144
144
  end
145
145
 
146
146
  it "executes the callback" do
147
- from_db.impressions.should eq(1)
147
+ expect(from_db.impressions).to eq(1)
148
148
  end
149
149
  end
150
150
 
@@ -155,7 +155,7 @@ describe Mongoid::Callbacks do
155
155
  end
156
156
 
157
157
  it "executes the callback" do
158
- from_db.impressions.should eq(1)
158
+ expect(from_db.impressions).to eq(1)
159
159
  end
160
160
  end
161
161
  end
@@ -168,7 +168,7 @@ describe Mongoid::Callbacks do
168
168
  end
169
169
 
170
170
  it "runs after document instantiation" do
171
- game.name.should eq("Testing")
171
+ expect(game.name).to eq("Testing")
172
172
  end
173
173
  end
174
174
 
@@ -179,7 +179,7 @@ describe Mongoid::Callbacks do
179
179
  end
180
180
 
181
181
  it "runs after document build (references_many)" do
182
- weapon.name.should eq("Holy Hand Grenade (5)")
182
+ expect(weapon.name).to eq("Holy Hand Grenade (5)")
183
183
  end
184
184
 
185
185
  let(:implant) do
@@ -187,7 +187,7 @@ describe Mongoid::Callbacks do
187
187
  end
188
188
 
189
189
  it "runs after document build (embeds_many)" do
190
- implant.name.should eq('Cochlear Implant (5)')
190
+ expect(implant.name).to eq('Cochlear Implant (5)')
191
191
  end
192
192
 
193
193
  let(:powerup) do
@@ -195,7 +195,7 @@ describe Mongoid::Callbacks do
195
195
  end
196
196
 
197
197
  it "runs after document build (references_one)" do
198
- powerup.name.should eq("Quad Damage (5)")
198
+ expect(powerup.name).to eq("Quad Damage (5)")
199
199
  end
200
200
 
201
201
  let(:augmentation) do
@@ -203,7 +203,7 @@ describe Mongoid::Callbacks do
203
203
  end
204
204
 
205
205
  it "runs after document build (embeds_one)" do
206
- augmentation.name.should eq("Infolink (5)")
206
+ expect(augmentation.name).to eq("Infolink (5)")
207
207
  end
208
208
  end
209
209
 
@@ -221,7 +221,7 @@ describe Mongoid::Callbacks do
221
221
  end
222
222
 
223
223
  it "gets saved" do
224
- artist.persisted?.should be_true
224
+ expect(artist.persisted?).to be true
225
225
  end
226
226
  end
227
227
 
@@ -233,7 +233,7 @@ describe Mongoid::Callbacks do
233
233
  end
234
234
 
235
235
  it "does not get saved" do
236
- artist.persisted?.should be_false
236
+ expect(artist.persisted?).to be false
237
237
  end
238
238
  end
239
239
  end
@@ -257,7 +257,7 @@ describe Mongoid::Callbacks do
257
257
  end
258
258
 
259
259
  it "the save returns true" do
260
- artist.save.should be_true
260
+ expect(artist.save).to be true
261
261
  end
262
262
  end
263
263
 
@@ -268,7 +268,7 @@ describe Mongoid::Callbacks do
268
268
  end
269
269
 
270
270
  it "the save returns false" do
271
- artist.save.should be_false
271
+ expect(artist.save).to be false
272
272
  end
273
273
  end
274
274
  end
@@ -292,7 +292,7 @@ describe Mongoid::Callbacks do
292
292
  end
293
293
 
294
294
  it "the save returns true" do
295
- artist.save.should be_true
295
+ expect(artist.save).to be true
296
296
  end
297
297
  end
298
298
 
@@ -303,7 +303,7 @@ describe Mongoid::Callbacks do
303
303
  end
304
304
 
305
305
  it "the save returns false" do
306
- artist.save.should be_false
306
+ expect(artist.save).to be false
307
307
  end
308
308
  end
309
309
  end
@@ -330,7 +330,7 @@ describe Mongoid::Callbacks do
330
330
  end
331
331
 
332
332
  it "the destroy returns true" do
333
- artist.destroy.should be_true
333
+ expect(artist.destroy).to be true
334
334
  end
335
335
  end
336
336
 
@@ -341,7 +341,7 @@ describe Mongoid::Callbacks do
341
341
  end
342
342
 
343
343
  it "the destroy returns false" do
344
- artist.destroy.should be_false
344
+ expect(artist.destroy).to be false
345
345
  end
346
346
  end
347
347
 
@@ -360,7 +360,7 @@ describe Mongoid::Callbacks do
360
360
  end
361
361
 
362
362
  it "executes the child destroy callbacks" do
363
- record.before_destroy_called.should be_true
363
+ expect(record.before_destroy_called).to be true
364
364
  end
365
365
  end
366
366
  end
@@ -376,11 +376,11 @@ describe Mongoid::Callbacks do
376
376
  end
377
377
 
378
378
  it "runs the after callbacks" do
379
- object.after_save_called.should be_true
379
+ expect(object.after_save_called).to be true
380
380
  end
381
381
 
382
382
  it "does not run the before callbacks" do
383
- object.before_save_called.should be_false
383
+ expect(object.before_save_called).to be nil
384
384
  end
385
385
  end
386
386
 
@@ -395,11 +395,11 @@ describe Mongoid::Callbacks do
395
395
  end
396
396
 
397
397
  it "runs the before callbacks" do
398
- object.before_save_called.should be_true
398
+ expect(object.before_save_called).to be true
399
399
  end
400
400
 
401
401
  it "does not run the after callbacks" do
402
- object.after_save_called.should be_false
402
+ expect(object.after_save_called).to be nil
403
403
  end
404
404
  end
405
405
 
@@ -428,7 +428,7 @@ describe Mongoid::Callbacks do
428
428
  end
429
429
 
430
430
  it "does not cascade to the child" do
431
- band.run_callbacks(:rearrange).should be_true
431
+ expect(band.run_callbacks(:rearrange)).to be true
432
432
  end
433
433
  end
434
434
 
@@ -455,7 +455,7 @@ describe Mongoid::Callbacks do
455
455
 
456
456
  it "does not cascade to the child" do
457
457
  Band.accepts_nested_attributes_for :records, allow_destroy: true
458
- band.update_attributes(attributes).should be_true
458
+ expect(band.update_attributes(attributes)).to be true
459
459
  end
460
460
  end
461
461
  end
@@ -504,7 +504,7 @@ describe Mongoid::Callbacks do
504
504
 
505
505
  it "doesn't cascade the initialize" do
506
506
  Service.any_instance.should_receive(:after_initialize_called=).never
507
- Person.find(person.id).should eq(person)
507
+ expect(Person.find(person.id)).to eq(person)
508
508
  end
509
509
  end
510
510
 
@@ -538,7 +538,7 @@ describe Mongoid::Callbacks do
538
538
  end
539
539
 
540
540
  it "executes the callback" do
541
- label.after_create_called.should be_true
541
+ expect(label.after_create_called).to be true
542
542
  end
543
543
  end
544
544
 
@@ -557,7 +557,7 @@ describe Mongoid::Callbacks do
557
557
  end
558
558
 
559
559
  it "executes the callback" do
560
- label.after_create_called.should be_true
560
+ expect(label.after_create_called).to be true
561
561
  end
562
562
  end
563
563
  end
@@ -578,7 +578,7 @@ describe Mongoid::Callbacks do
578
578
  end
579
579
 
580
580
  it "does not execute the callback" do
581
- label.after_create_called.should be_false
581
+ expect(label.after_create_called).to be false
582
582
  end
583
583
  end
584
584
  end
@@ -602,7 +602,7 @@ describe Mongoid::Callbacks do
602
602
  end
603
603
 
604
604
  it "executes the callback" do
605
- label.after_save_called.should be_true
605
+ expect(label.after_save_called).to be true
606
606
  end
607
607
  end
608
608
 
@@ -621,7 +621,7 @@ describe Mongoid::Callbacks do
621
621
  end
622
622
 
623
623
  it "executes the callback" do
624
- label.after_save_called.should be_true
624
+ expect(label.after_save_called).to be true
625
625
  end
626
626
  end
627
627
  end
@@ -641,7 +641,7 @@ describe Mongoid::Callbacks do
641
641
  end
642
642
 
643
643
  it "executes the callback" do
644
- label.after_save_called.should be_true
644
+ expect(label.after_save_called).to be true
645
645
  end
646
646
  end
647
647
  end
@@ -665,7 +665,7 @@ describe Mongoid::Callbacks do
665
665
  end
666
666
 
667
667
  it "does not execute the callback" do
668
- label.after_update_called.should be_false
668
+ expect(label.after_update_called).to be false
669
669
  end
670
670
  end
671
671
 
@@ -684,7 +684,7 @@ describe Mongoid::Callbacks do
684
684
  end
685
685
 
686
686
  it "does not execute the callback" do
687
- label.after_update_called.should be_false
687
+ expect(label.after_update_called).to be false
688
688
  end
689
689
  end
690
690
  end
@@ -707,7 +707,7 @@ describe Mongoid::Callbacks do
707
707
  end
708
708
 
709
709
  it "executes the callback" do
710
- label.after_update_called.should be_true
710
+ expect(label.after_update_called).to be true
711
711
  end
712
712
  end
713
713
 
@@ -722,7 +722,7 @@ describe Mongoid::Callbacks do
722
722
  end
723
723
 
724
724
  it "does not execute the callback" do
725
- label.after_update_called.should be_false
725
+ expect(label.after_update_called).to be false
726
726
  end
727
727
  end
728
728
  end
@@ -747,7 +747,7 @@ describe Mongoid::Callbacks do
747
747
  end
748
748
 
749
749
  it "executes the callback" do
750
- label.after_validation_called.should be_true
750
+ expect(label.after_validation_called).to be true
751
751
  end
752
752
  end
753
753
 
@@ -766,7 +766,7 @@ describe Mongoid::Callbacks do
766
766
  end
767
767
 
768
768
  it "executes the callback" do
769
- label.after_validation_called.should be_true
769
+ expect(label.after_validation_called).to be true
770
770
  end
771
771
  end
772
772
  end
@@ -786,7 +786,7 @@ describe Mongoid::Callbacks do
786
786
  end
787
787
 
788
788
  it "executes the callback" do
789
- label.after_validation_called.should be_true
789
+ expect(label.after_validation_called).to be true
790
790
  end
791
791
  end
792
792
  end
@@ -810,7 +810,7 @@ describe Mongoid::Callbacks do
810
810
  end
811
811
 
812
812
  it "executes the callback" do
813
- record.before_create_called.should be_true
813
+ expect(record.before_create_called).to be true
814
814
  end
815
815
  end
816
816
 
@@ -829,7 +829,7 @@ describe Mongoid::Callbacks do
829
829
  end
830
830
 
831
831
  it "executes the callback" do
832
- record.before_create_called.should be_true
832
+ expect(record.before_create_called).to be true
833
833
  end
834
834
  end
835
835
  end
@@ -850,7 +850,7 @@ describe Mongoid::Callbacks do
850
850
  end
851
851
 
852
852
  it "does not execute the callback" do
853
- record.before_create_called.should be_false
853
+ expect(record.before_create_called).to be false
854
854
  end
855
855
  end
856
856
  end
@@ -874,11 +874,11 @@ describe Mongoid::Callbacks do
874
874
  end
875
875
 
876
876
  it "executes the callback" do
877
- record.before_save_called.should be_true
877
+ expect(record.before_save_called).to be true
878
878
  end
879
879
 
880
880
  it "persists the change" do
881
- band.reload.records.first.before_save_called.should be_true
881
+ expect(band.reload.records.first.before_save_called).to be true
882
882
  end
883
883
  end
884
884
 
@@ -897,11 +897,11 @@ describe Mongoid::Callbacks do
897
897
  end
898
898
 
899
899
  it "executes the callback" do
900
- record.before_save_called.should be_true
900
+ expect(record.before_save_called).to be true
901
901
  end
902
902
 
903
903
  it "persists the change" do
904
- band.reload.records.first.before_save_called.should be_true
904
+ expect(band.reload.records.first.before_save_called).to be true
905
905
  end
906
906
  end
907
907
  end
@@ -921,11 +921,11 @@ describe Mongoid::Callbacks do
921
921
  end
922
922
 
923
923
  it "executes the callback" do
924
- record.before_save_called.should be_true
924
+ expect(record.before_save_called).to be true
925
925
  end
926
926
 
927
927
  it "persists the change" do
928
- band.reload.records.first.before_save_called.should be_true
928
+ expect(band.reload.records.first.before_save_called).to be true
929
929
  end
930
930
  end
931
931
  end
@@ -949,7 +949,7 @@ describe Mongoid::Callbacks do
949
949
  end
950
950
 
951
951
  it "does not execute the callback" do
952
- record.before_update_called.should be_false
952
+ expect(record.before_update_called).to be false
953
953
  end
954
954
  end
955
955
 
@@ -968,7 +968,7 @@ describe Mongoid::Callbacks do
968
968
  end
969
969
 
970
970
  it "does not execute the callback" do
971
- record.before_update_called.should be_false
971
+ expect(record.before_update_called).to be false
972
972
  end
973
973
  end
974
974
  end
@@ -991,11 +991,11 @@ describe Mongoid::Callbacks do
991
991
  end
992
992
 
993
993
  it "executes the callback" do
994
- record.before_update_called.should be_true
994
+ expect(record.before_update_called).to be true
995
995
  end
996
996
 
997
997
  it "persists the change" do
998
- band.reload.records.first.before_update_called.should be_true
998
+ expect(band.reload.records.first.before_update_called).to be true
999
999
  end
1000
1000
  end
1001
1001
 
@@ -1006,7 +1006,7 @@ describe Mongoid::Callbacks do
1006
1006
  end
1007
1007
 
1008
1008
  it "does not execute the callback" do
1009
- record.before_update_called.should be_false
1009
+ expect(record.before_update_called).to be false
1010
1010
  end
1011
1011
  end
1012
1012
  end
@@ -1031,11 +1031,11 @@ describe Mongoid::Callbacks do
1031
1031
  end
1032
1032
 
1033
1033
  it "executes the callback" do
1034
- record.before_validation_called.should be_true
1034
+ expect(record.before_validation_called).to be true
1035
1035
  end
1036
1036
 
1037
1037
  it "persists the change" do
1038
- band.reload.records.first.before_validation_called.should be_true
1038
+ expect(band.reload.records.first.before_validation_called).to be true
1039
1039
  end
1040
1040
  end
1041
1041
 
@@ -1054,11 +1054,11 @@ describe Mongoid::Callbacks do
1054
1054
  end
1055
1055
 
1056
1056
  it "executes the callback" do
1057
- record.before_validation_called.should be_true
1057
+ expect(record.before_validation_called).to be true
1058
1058
  end
1059
1059
 
1060
1060
  it "persists the change" do
1061
- band.reload.records.first.before_validation_called.should be_true
1061
+ expect(band.reload.records.first.before_validation_called).to be true
1062
1062
  end
1063
1063
  end
1064
1064
  end
@@ -1078,11 +1078,11 @@ describe Mongoid::Callbacks do
1078
1078
  end
1079
1079
 
1080
1080
  it "executes the callback" do
1081
- record.before_validation_called.should be_true
1081
+ expect(record.before_validation_called).to be true
1082
1082
  end
1083
1083
 
1084
1084
  it "persists the change" do
1085
- band.reload.records.first.before_validation_called.should be_true
1085
+ expect(band.reload.records.first.before_validation_called).to be true
1086
1086
  end
1087
1087
  end
1088
1088
  end
@@ -1113,7 +1113,7 @@ describe Mongoid::Callbacks do
1113
1113
  end
1114
1114
 
1115
1115
  it "executes the callback" do
1116
- track.before_create_called.should be_true
1116
+ expect(track.before_create_called).to be true
1117
1117
  end
1118
1118
  end
1119
1119
 
@@ -1136,7 +1136,7 @@ describe Mongoid::Callbacks do
1136
1136
  end
1137
1137
 
1138
1138
  it "executes the callback" do
1139
- track.before_create_called.should be_true
1139
+ expect(track.before_create_called).to be true
1140
1140
  end
1141
1141
  end
1142
1142
  end
@@ -1161,7 +1161,7 @@ describe Mongoid::Callbacks do
1161
1161
  end
1162
1162
 
1163
1163
  it "does not execute the callback" do
1164
- track.before_create_called.should be_false
1164
+ expect(track.before_create_called).to be false
1165
1165
  end
1166
1166
  end
1167
1167
  end
@@ -1193,11 +1193,11 @@ describe Mongoid::Callbacks do
1193
1193
  end
1194
1194
 
1195
1195
  it "executes the callback" do
1196
- track.before_save_called.should be_true
1196
+ expect(track.before_save_called).to be true
1197
1197
  end
1198
1198
 
1199
1199
  it "persists the change" do
1200
- reloaded.tracks.first.before_save_called.should be_true
1200
+ expect(reloaded.tracks.first.before_save_called).to be true
1201
1201
  end
1202
1202
  end
1203
1203
 
@@ -1224,11 +1224,11 @@ describe Mongoid::Callbacks do
1224
1224
  end
1225
1225
 
1226
1226
  it "executes the callback" do
1227
- track.before_save_called.should be_true
1227
+ expect(track.before_save_called).to be true
1228
1228
  end
1229
1229
 
1230
1230
  it "persists the change" do
1231
- reloaded.tracks.first.before_save_called.should be_true
1231
+ expect(reloaded.tracks.first.before_save_called).to be true
1232
1232
  end
1233
1233
  end
1234
1234
  end
@@ -1256,11 +1256,11 @@ describe Mongoid::Callbacks do
1256
1256
  end
1257
1257
 
1258
1258
  it "executes the callback" do
1259
- track.before_save_called.should be_true
1259
+ expect(track.before_save_called).to be true
1260
1260
  end
1261
1261
 
1262
1262
  it "persists the change" do
1263
- reloaded.tracks.first.before_save_called.should be_true
1263
+ expect(reloaded.tracks.first.before_save_called).to be true
1264
1264
  end
1265
1265
  end
1266
1266
  end
@@ -1288,7 +1288,7 @@ describe Mongoid::Callbacks do
1288
1288
  end
1289
1289
 
1290
1290
  it "does not execute the callback" do
1291
- track.before_update_called.should be_false
1291
+ expect(track.before_update_called).to be false
1292
1292
  end
1293
1293
  end
1294
1294
 
@@ -1311,7 +1311,7 @@ describe Mongoid::Callbacks do
1311
1311
  end
1312
1312
 
1313
1313
  it "does not execute the callback" do
1314
- track.before_update_called.should be_false
1314
+ expect(track.before_update_called).to be false
1315
1315
  end
1316
1316
  end
1317
1317
  end
@@ -1342,11 +1342,11 @@ describe Mongoid::Callbacks do
1342
1342
  end
1343
1343
 
1344
1344
  it "executes the callback" do
1345
- track.before_update_called.should be_true
1345
+ expect(track.before_update_called).to be true
1346
1346
  end
1347
1347
 
1348
1348
  it "persists the change" do
1349
- reloaded.tracks.first.before_update_called.should be_true
1349
+ expect(reloaded.tracks.first.before_update_called).to be true
1350
1350
  end
1351
1351
  end
1352
1352
 
@@ -1357,7 +1357,7 @@ describe Mongoid::Callbacks do
1357
1357
  end
1358
1358
 
1359
1359
  it "does not execute the callback" do
1360
- track.before_update_called.should be_false
1360
+ expect(track.before_update_called).to be false
1361
1361
  end
1362
1362
  end
1363
1363
  end
@@ -1386,7 +1386,7 @@ describe Mongoid::Callbacks do
1386
1386
  end
1387
1387
 
1388
1388
  it "executes the callback" do
1389
- track.before_validation_called.should be_true
1389
+ expect(track.before_validation_called).to be true
1390
1390
  end
1391
1391
  end
1392
1392
 
@@ -1409,7 +1409,7 @@ describe Mongoid::Callbacks do
1409
1409
  end
1410
1410
 
1411
1411
  it "executes the callback" do
1412
- track.before_validation_called.should be_true
1412
+ expect(track.before_validation_called).to be true
1413
1413
  end
1414
1414
  end
1415
1415
  end
@@ -1433,7 +1433,7 @@ describe Mongoid::Callbacks do
1433
1433
  end
1434
1434
 
1435
1435
  it "executes the callback" do
1436
- track.before_validation_called.should be_true
1436
+ expect(track.before_validation_called).to be true
1437
1437
  end
1438
1438
  end
1439
1439
  end
@@ -1445,7 +1445,7 @@ describe Mongoid::Callbacks do
1445
1445
  it "goes in all validation callback in good order" do
1446
1446
  shin = ValidationCallback.new
1447
1447
  shin.valid?
1448
- shin.history.should eq([:before_validation, :validate, :after_validation])
1448
+ expect(shin.history).to eq([:before_validation, :validate, :after_validation])
1449
1449
  end
1450
1450
  end
1451
1451
 
@@ -1460,8 +1460,8 @@ describe Mongoid::Callbacks do
1460
1460
  end
1461
1461
 
1462
1462
  it "does not duplicate the child documents" do
1463
- parent.child_docs.create(position: 1)
1464
- ParentDoc.find(parent.id).child_docs.size.should eq(1)
1463
+ parent.children.create(position: 1)
1464
+ expect(ParentDoc.find(parent.id).children.size).to eq(1)
1465
1465
  end
1466
1466
  end
1467
1467
 
@@ -1488,22 +1488,22 @@ describe Mongoid::Callbacks do
1488
1488
  end
1489
1489
 
1490
1490
  it "fails to save" do
1491
- person.should be_valid
1492
- person.save.should be_false
1491
+ expect(person).to be_valid
1492
+ expect(person.save).to be false
1493
1493
  end
1494
1494
 
1495
1495
  it "is a new record" do
1496
- person.should be_a_new_record
1496
+ expect(person).to be_a_new_record
1497
1497
  expect { person.save }.not_to change { person.new_record? }
1498
1498
  end
1499
1499
 
1500
1500
  it "is left dirty" do
1501
- person.should be_changed
1501
+ expect(person).to be_changed
1502
1502
  expect { person.save }.not_to change { person.changed? }
1503
1503
  end
1504
1504
 
1505
1505
  it "child documents are left dirty" do
1506
- address.should be_changed
1506
+ expect(address).to be_changed
1507
1507
  expect { person.save }.not_to change { address.changed? }
1508
1508
  end
1509
1509
  end
@@ -1521,22 +1521,22 @@ describe Mongoid::Callbacks do
1521
1521
  end
1522
1522
 
1523
1523
  it "#save returns false" do
1524
- person.should be_valid
1525
- person.save.should be_false
1524
+ expect(person).to be_valid
1525
+ expect(person.save).to be false
1526
1526
  end
1527
1527
 
1528
1528
  it "is a not a new record" do
1529
- person.should_not be_a_new_record
1529
+ expect(person).to_not be_a_new_record
1530
1530
  expect { person.save }.not_to change { person.new_record? }
1531
1531
  end
1532
1532
 
1533
1533
  it "is left dirty" do
1534
- person.should be_changed
1534
+ expect(person).to be_changed
1535
1535
  expect { person.save }.not_to change { person.changed? }
1536
1536
  end
1537
1537
 
1538
1538
  it "child documents are left dirty" do
1539
- address.should be_changed
1539
+ expect(address).to be_changed
1540
1540
  expect { person.save }.not_to change { address.changed? }
1541
1541
  end
1542
1542
  end