mongoid 3.1.7 → 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 (567) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +470 -9
  3. data/README.md +10 -7
  4. data/lib/config/locales/en.yml +34 -20
  5. data/lib/mongoid/atomic/paths/embedded/many.rb +1 -1
  6. data/lib/mongoid/atomic/paths/embedded/one.rb +1 -1
  7. data/lib/mongoid/atomic/paths/embedded.rb +0 -30
  8. data/lib/mongoid/atomic/paths/root.rb +0 -13
  9. data/lib/mongoid/atomic.rb +3 -14
  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/attributes.rb +63 -99
  14. data/lib/mongoid/{dirty.rb → changeable.rb} +32 -2
  15. data/lib/mongoid/composable.rb +105 -0
  16. data/lib/mongoid/config/options.rb +1 -1
  17. data/lib/mongoid/config.rb +3 -9
  18. data/lib/mongoid/contextual/aggregable/memory.rb +2 -2
  19. data/lib/mongoid/contextual/aggregable/mongo.rb +5 -9
  20. data/lib/mongoid/contextual/atomic.rb +53 -53
  21. data/lib/mongoid/contextual/geo_near.rb +1 -1
  22. data/lib/mongoid/contextual/map_reduce.rb +4 -2
  23. data/lib/mongoid/contextual/memory.rb +23 -11
  24. data/lib/mongoid/contextual/mongo.rb +75 -57
  25. data/lib/mongoid/contextual/none.rb +90 -0
  26. data/lib/mongoid/contextual/text_search.rb +178 -0
  27. data/lib/mongoid/contextual.rb +2 -0
  28. data/lib/mongoid/copyable.rb +2 -3
  29. data/lib/mongoid/{criterion → criteria}/findable.rb +7 -47
  30. data/lib/mongoid/{criterion/inspection.rb → criteria/inspectable.rb} +2 -2
  31. data/lib/mongoid/{criterion → criteria}/marshalable.rb +3 -1
  32. data/lib/mongoid/{criterion → criteria}/modifiable.rb +28 -8
  33. data/lib/mongoid/criteria/permission.rb +70 -0
  34. data/lib/mongoid/{criterion/scoping.rb → criteria/scopable.rb} +2 -2
  35. data/lib/mongoid/criteria.rb +39 -34
  36. data/lib/mongoid/document.rb +39 -24
  37. data/lib/mongoid/errors/document_not_destroyed.rb +25 -0
  38. data/lib/mongoid/errors/document_not_found.rb +2 -1
  39. data/lib/mongoid/errors/invalid_storage_options.rb +1 -1
  40. data/lib/mongoid/errors/invalid_storage_parent.rb +26 -0
  41. data/lib/mongoid/errors/invalid_value.rb +16 -0
  42. data/lib/mongoid/errors/mongoid_error.rb +1 -1
  43. data/lib/mongoid/errors/readonly_document.rb +24 -0
  44. data/lib/mongoid/errors.rb +4 -1
  45. data/lib/mongoid/extensions/array.rb +3 -3
  46. data/lib/mongoid/extensions/big_decimal.rb +1 -1
  47. data/lib/mongoid/extensions/boolean.rb +15 -17
  48. data/lib/mongoid/extensions/date.rb +1 -1
  49. data/lib/mongoid/extensions/date_time.rb +3 -3
  50. data/lib/mongoid/extensions/float.rb +2 -1
  51. data/lib/mongoid/extensions/hash.rb +3 -3
  52. data/lib/mongoid/extensions/integer.rb +1 -1
  53. data/lib/mongoid/extensions/object.rb +7 -7
  54. data/lib/mongoid/extensions/object_id.rb +5 -5
  55. data/lib/mongoid/extensions/range.rb +9 -3
  56. data/lib/mongoid/extensions/regexp.rb +1 -1
  57. data/lib/mongoid/extensions/set.rb +1 -1
  58. data/lib/mongoid/extensions/string.rb +6 -18
  59. data/lib/mongoid/extensions/symbol.rb +1 -1
  60. data/lib/mongoid/extensions/time.rb +3 -3
  61. data/lib/mongoid/extensions/time_with_zone.rb +1 -1
  62. data/lib/mongoid/extensions.rb +15 -7
  63. data/lib/mongoid/factory.rb +8 -6
  64. data/lib/mongoid/fields/foreign_key.rb +3 -3
  65. data/lib/mongoid/fields/localized.rb +1 -1
  66. data/lib/mongoid/fields/standard.rb +5 -17
  67. data/lib/mongoid/fields/validators/macro.rb +15 -5
  68. data/lib/mongoid/fields.rb +41 -8
  69. data/lib/mongoid/{finders.rb → findable.rb} +35 -7
  70. data/lib/mongoid/indexable/specification.rb +104 -0
  71. data/lib/mongoid/{indexes → indexable}/validators/options.rb +2 -1
  72. data/lib/mongoid/{indexes.rb → indexable.rb} +50 -55
  73. data/lib/mongoid/{inspection.rb → inspectable.rb} +15 -11
  74. data/lib/mongoid/{callbacks.rb → interceptable.rb} +30 -62
  75. data/lib/mongoid/log_subscriber.rb +55 -0
  76. data/lib/mongoid/{matchers → matchable}/all.rb +1 -1
  77. data/lib/mongoid/{matchers → matchable}/and.rb +2 -2
  78. data/lib/mongoid/{matchers → matchable}/default.rb +1 -1
  79. data/lib/mongoid/{matchers → matchable}/exists.rb +1 -1
  80. data/lib/mongoid/{matchers → matchable}/gt.rb +1 -1
  81. data/lib/mongoid/{matchers → matchable}/gte.rb +1 -1
  82. data/lib/mongoid/{matchers → matchable}/in.rb +2 -2
  83. data/lib/mongoid/{matchers → matchable}/lt.rb +1 -1
  84. data/lib/mongoid/{matchers → matchable}/lte.rb +1 -1
  85. data/lib/mongoid/{matchers → matchable}/ne.rb +1 -1
  86. data/lib/mongoid/{matchers → matchable}/nin.rb +3 -2
  87. data/lib/mongoid/{matchers → matchable}/or.rb +2 -2
  88. data/lib/mongoid/{matchers → matchable}/size.rb +1 -1
  89. data/lib/mongoid/matchable.rb +152 -0
  90. data/lib/mongoid/persistable/creatable.rb +189 -0
  91. data/lib/mongoid/persistable/deletable.rb +149 -0
  92. data/lib/mongoid/persistable/destroyable.rb +60 -0
  93. data/lib/mongoid/persistable/incrementable.rb +36 -0
  94. data/lib/mongoid/persistable/logical.rb +38 -0
  95. data/lib/mongoid/persistable/poppable.rb +39 -0
  96. data/lib/mongoid/persistable/pullable.rb +55 -0
  97. data/lib/mongoid/persistable/pushable.rb +62 -0
  98. data/lib/mongoid/persistable/renamable.rb +35 -0
  99. data/lib/mongoid/persistable/savable.rb +52 -0
  100. data/lib/mongoid/persistable/settable.rb +33 -0
  101. data/lib/mongoid/persistable/unsettable.rb +36 -0
  102. data/lib/mongoid/persistable/updatable.rb +153 -0
  103. data/lib/mongoid/persistable/upsertable.rb +55 -0
  104. data/lib/mongoid/persistable.rb +216 -0
  105. data/lib/mongoid/positional.rb +71 -0
  106. data/lib/mongoid/query_cache.rb +255 -0
  107. data/lib/mongoid/railtie.rb +34 -60
  108. data/lib/mongoid/railties/database.rake +9 -25
  109. data/lib/mongoid/relations/accessors.rb +15 -51
  110. data/lib/mongoid/relations/auto_save.rb +15 -36
  111. data/lib/mongoid/relations/binding.rb +2 -25
  112. data/lib/mongoid/relations/bindings/embedded/in.rb +1 -1
  113. data/lib/mongoid/relations/bindings/embedded/many.rb +1 -3
  114. data/lib/mongoid/relations/bindings/referenced/in.rb +3 -8
  115. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +4 -2
  116. data/lib/mongoid/relations/builder.rb +1 -1
  117. data/lib/mongoid/relations/builders/embedded/one.rb +1 -1
  118. data/lib/mongoid/relations/builders/nested_attributes/many.rb +10 -13
  119. data/lib/mongoid/relations/builders/nested_attributes/one.rb +5 -6
  120. data/lib/mongoid/relations/builders/referenced/in.rb +1 -1
  121. data/lib/mongoid/relations/builders/referenced/many.rb +1 -2
  122. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -2
  123. data/lib/mongoid/relations/builders/referenced/one.rb +1 -1
  124. data/lib/mongoid/relations/builders.rb +2 -2
  125. data/lib/mongoid/relations/cascading.rb +3 -5
  126. data/lib/mongoid/relations/constraint.rb +1 -1
  127. data/lib/mongoid/relations/conversions.rb +1 -1
  128. data/lib/mongoid/relations/counter_cache.rb +39 -15
  129. data/lib/mongoid/relations/eager/base.rb +149 -0
  130. data/lib/mongoid/relations/eager/belongs_to.rb +31 -0
  131. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +47 -0
  132. data/lib/mongoid/relations/eager/has_many.rb +38 -0
  133. data/lib/mongoid/relations/eager/has_one.rb +30 -0
  134. data/lib/mongoid/relations/eager.rb +46 -0
  135. data/lib/mongoid/relations/embedded/batchable.rb +4 -5
  136. data/lib/mongoid/relations/embedded/in.rb +4 -4
  137. data/lib/mongoid/relations/embedded/many.rb +14 -32
  138. data/lib/mongoid/relations/embedded/one.rb +1 -1
  139. data/lib/mongoid/relations/macros.rb +3 -4
  140. data/lib/mongoid/relations/many.rb +51 -31
  141. data/lib/mongoid/relations/marshalable.rb +3 -3
  142. data/lib/mongoid/relations/metadata.rb +14 -79
  143. data/lib/mongoid/relations/nested_builder.rb +2 -2
  144. data/lib/mongoid/relations/one.rb +1 -1
  145. data/lib/mongoid/relations/options.rb +1 -0
  146. data/lib/mongoid/relations/polymorphic.rb +0 -1
  147. data/lib/mongoid/relations/proxy.rb +21 -41
  148. data/lib/mongoid/relations/referenced/in.rb +4 -20
  149. data/lib/mongoid/relations/referenced/many.rb +22 -35
  150. data/lib/mongoid/relations/referenced/many_to_many.rb +19 -42
  151. data/lib/mongoid/relations/referenced/one.rb +6 -25
  152. data/lib/mongoid/relations/synchronization.rb +4 -4
  153. data/lib/mongoid/relations/targets/enumerable.rb +10 -10
  154. data/lib/mongoid/relations/touchable.rb +34 -1
  155. data/lib/mongoid/relations.rb +11 -25
  156. data/lib/mongoid/{reloading.rb → reloadable.rb} +7 -5
  157. data/lib/mongoid/{scoping.rb → scopable.rb} +36 -36
  158. data/lib/mongoid/selectable.rb +59 -0
  159. data/lib/mongoid/{serialization.rb → serializable.rb} +11 -2
  160. data/lib/mongoid/sessions/factory.rb +2 -0
  161. data/lib/mongoid/sessions/options.rb +185 -0
  162. data/lib/mongoid/sessions/storage_options.rb +140 -0
  163. data/lib/mongoid/sessions/thread_options.rb +19 -0
  164. data/lib/mongoid/sessions/validators/storage.rb +16 -3
  165. data/lib/mongoid/sessions.rb +37 -345
  166. data/lib/mongoid/{sharding.rb → shardable.rb} +5 -1
  167. data/lib/mongoid/{state.rb → stateful.rb} +13 -1
  168. data/lib/mongoid/support/query_counter.rb +23 -0
  169. data/lib/mongoid/tasks/database.rake +31 -0
  170. data/lib/mongoid/tasks/database.rb +107 -0
  171. data/lib/mongoid/threaded/lifecycle.rb +0 -28
  172. data/lib/mongoid/threaded.rb +26 -172
  173. data/lib/mongoid/timestamps/updated/short.rb +2 -2
  174. data/lib/mongoid/{hierarchy.rb → traversable.rb} +15 -7
  175. data/lib/mongoid/{validations → validatable}/associated.rb +4 -2
  176. data/lib/mongoid/{validations → validatable}/format.rb +1 -1
  177. data/lib/mongoid/{validations → validatable}/length.rb +1 -1
  178. data/lib/mongoid/{validations → validatable}/localizable.rb +1 -1
  179. data/lib/mongoid/{validations → validatable}/macros.rb +4 -3
  180. data/lib/mongoid/{validations → validatable}/presence.rb +1 -1
  181. data/lib/mongoid/{validations → validatable}/queryable.rb +1 -2
  182. data/lib/mongoid/{validations → validatable}/uniqueness.rb +25 -21
  183. data/lib/mongoid/{validations.rb → validatable.rb} +23 -10
  184. data/lib/mongoid/version.rb +1 -1
  185. data/lib/mongoid.rb +10 -76
  186. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +46 -25
  187. data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
  188. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +0 -3
  189. data/lib/rails/generators/mongoid_generator.rb +3 -40
  190. data/lib/rails/mongoid.rb +0 -122
  191. data/lib/support/ruby_version.rb +1 -1
  192. data/spec/app/models/account.rb +2 -6
  193. data/spec/app/models/acolyte.rb +2 -1
  194. data/spec/app/models/actor.rb +0 -1
  195. data/spec/app/models/address.rb +8 -3
  196. data/spec/app/models/animal.rb +1 -1
  197. data/spec/app/models/appointment.rb +3 -3
  198. data/spec/app/models/article.rb +1 -4
  199. data/spec/app/models/audio.rb +5 -0
  200. data/spec/app/models/author.rb +0 -2
  201. data/spec/app/models/band.rb +3 -2
  202. data/spec/app/models/bar.rb +1 -0
  203. data/spec/app/models/book.rb +1 -0
  204. data/spec/app/models/building.rb +0 -2
  205. data/spec/app/models/building_address.rb +0 -2
  206. data/spec/app/models/bus.rb +1 -1
  207. data/spec/app/models/canvas.rb +1 -1
  208. data/spec/app/models/contextable_item.rb +5 -0
  209. data/spec/app/models/contractor.rb +0 -2
  210. data/spec/app/models/country_code.rb +1 -1
  211. data/spec/app/models/definition.rb +2 -2
  212. data/spec/app/models/dog.rb +1 -1
  213. data/spec/app/models/dragon.rb +4 -0
  214. data/spec/app/models/drug.rb +1 -3
  215. data/spec/app/models/dungeon.rb +4 -0
  216. data/spec/app/models/edit.rb +5 -0
  217. data/spec/app/models/even.rb +7 -0
  218. data/spec/app/models/event.rb +1 -1
  219. data/spec/app/models/filesystem.rb +1 -0
  220. data/spec/app/models/fish.rb +0 -1
  221. data/spec/app/models/fruits.rb +6 -0
  222. data/spec/app/models/game.rb +0 -2
  223. data/spec/app/models/house.rb +1 -3
  224. data/spec/app/models/id_key.rb +6 -0
  225. data/spec/app/models/item.rb +1 -5
  226. data/spec/app/models/jar.rb +1 -1
  227. data/spec/app/models/label.rb +4 -4
  228. data/spec/app/models/line_item.rb +1 -1
  229. data/spec/app/models/login.rb +1 -1
  230. data/spec/app/models/message.rb +8 -0
  231. data/spec/app/models/movie.rb +1 -0
  232. data/spec/app/models/name.rb +3 -3
  233. data/spec/app/models/note.rb +3 -1
  234. data/spec/app/models/odd.rb +7 -0
  235. data/spec/app/models/oscar.rb +1 -1
  236. data/spec/app/models/parent_doc.rb +1 -1
  237. data/spec/app/models/person.rb +16 -10
  238. data/spec/app/models/phone.rb +1 -3
  239. data/spec/app/models/player.rb +3 -3
  240. data/spec/app/models/post.rb +5 -3
  241. data/spec/app/models/preference.rb +1 -1
  242. data/spec/app/models/quiz.rb +0 -3
  243. data/spec/app/models/record.rb +10 -5
  244. data/spec/app/models/registry.rb +1 -1
  245. data/spec/app/models/server.rb +1 -1
  246. data/spec/app/models/service.rb +3 -3
  247. data/spec/app/models/sound.rb +5 -0
  248. data/spec/app/models/symptom.rb +1 -1
  249. data/spec/app/models/template.rb +1 -1
  250. data/spec/app/models/title.rb +0 -1
  251. data/spec/app/models/track.rb +5 -5
  252. data/spec/app/models/tree.rb +3 -3
  253. data/spec/app/models/video.rb +1 -5
  254. data/spec/app/models/wiki_page.rb +2 -5
  255. data/spec/app/models/word.rb +3 -0
  256. data/spec/app/models/word_origin.rb +1 -1
  257. data/spec/config/mongoid.yml +7 -8
  258. data/spec/helpers.rb +18 -0
  259. data/spec/mongoid/atomic/modifiers_spec.rb +22 -22
  260. data/spec/mongoid/atomic/paths/embedded/many_spec.rb +8 -49
  261. data/spec/mongoid/atomic/paths/embedded/one_spec.rb +7 -49
  262. data/spec/mongoid/atomic/paths/root_spec.rb +3 -61
  263. data/spec/mongoid/atomic/paths_spec.rb +19 -19
  264. data/spec/mongoid/atomic_spec.rb +19 -19
  265. data/spec/mongoid/{nested_attributes_spec.rb → attributes/nested_spec.rb} +474 -592
  266. data/spec/mongoid/attributes/readonly_spec.rb +58 -18
  267. data/spec/mongoid/attributes_spec.rb +334 -434
  268. data/spec/mongoid/{dirty_spec.rb → changeable_spec.rb} +203 -153
  269. data/spec/mongoid/{components_spec.rb → composable_spec.rb} +3 -3
  270. data/spec/mongoid/config/environment_spec.rb +3 -3
  271. data/spec/mongoid/config/options_spec.rb +6 -6
  272. data/spec/mongoid/config_spec.rb +24 -48
  273. data/spec/mongoid/contextual/aggregable/memory_spec.rb +12 -12
  274. data/spec/mongoid/contextual/aggregable/mongo_spec.rb +46 -38
  275. data/spec/mongoid/contextual/atomic_spec.rb +59 -55
  276. data/spec/mongoid/contextual/find_and_modify_spec.rb +14 -14
  277. data/spec/mongoid/contextual/geo_near_spec.rb +22 -22
  278. data/spec/mongoid/contextual/map_reduce_spec.rb +27 -27
  279. data/spec/mongoid/contextual/memory_spec.rb +156 -94
  280. data/spec/mongoid/contextual/mongo_spec.rb +238 -150
  281. data/spec/mongoid/contextual/none_spec.rb +127 -0
  282. data/spec/mongoid/contextual/text_search_spec.rb +209 -0
  283. data/spec/mongoid/copyable_spec.rb +56 -68
  284. data/spec/mongoid/criteria/findable_spec.rb +991 -0
  285. data/spec/mongoid/{criterion/inspection_spec.rb → criteria/inspectable_spec.rb} +5 -5
  286. data/spec/mongoid/{criterion → criteria}/marshalable_spec.rb +2 -2
  287. data/spec/mongoid/criteria/modifiable_spec.rb +1252 -0
  288. data/spec/mongoid/{criterion/scoping_spec.rb → criteria/scopable_spec.rb} +37 -37
  289. data/spec/mongoid/criteria_spec.rb +713 -2419
  290. data/spec/mongoid/document_spec.rb +171 -121
  291. data/spec/mongoid/equality_spec.rb +22 -22
  292. data/spec/mongoid/errors/ambiguous_relationship_spec.rb +3 -3
  293. data/spec/mongoid/errors/callback_spec.rb +3 -3
  294. data/spec/mongoid/errors/delete_restriction_spec.rb +3 -3
  295. data/spec/mongoid/errors/document_not_destroyed_spec.rb +33 -0
  296. data/spec/mongoid/errors/document_not_found_spec.rb +11 -11
  297. data/spec/mongoid/errors/eager_load_spec.rb +3 -3
  298. data/spec/mongoid/errors/invalid_collection_spec.rb +3 -3
  299. data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -3
  300. data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -3
  301. data/spec/mongoid/errors/invalid_field_spec.rb +3 -3
  302. data/spec/mongoid/errors/invalid_find_spec.rb +3 -3
  303. data/spec/mongoid/errors/invalid_includes_spec.rb +3 -3
  304. data/spec/mongoid/errors/invalid_index_spec.rb +3 -3
  305. data/spec/mongoid/errors/invalid_options_spec.rb +3 -3
  306. data/spec/mongoid/errors/invalid_path_spec.rb +3 -3
  307. data/spec/mongoid/errors/invalid_scope_spec.rb +5 -5
  308. data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -3
  309. data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -3
  310. data/spec/mongoid/errors/invalid_time_spec.rb +3 -3
  311. data/spec/mongoid/errors/inverse_not_found_spec.rb +3 -3
  312. data/spec/mongoid/errors/mixed_relations_spec.rb +3 -3
  313. data/spec/mongoid/errors/mixed_session_configuration_spec.rb +3 -3
  314. data/spec/mongoid/errors/mongoid_error_spec.rb +8 -8
  315. data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +3 -3
  316. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  317. data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -3
  318. data/spec/mongoid/errors/no_metadata_spec.rb +3 -3
  319. data/spec/mongoid/errors/no_parent_spec.rb +3 -3
  320. data/spec/mongoid/errors/no_session_config_spec.rb +3 -3
  321. data/spec/mongoid/errors/no_session_database_spec.rb +3 -3
  322. data/spec/mongoid/errors/no_session_hosts_spec.rb +3 -3
  323. data/spec/mongoid/errors/no_sessions_config_spec.rb +3 -3
  324. data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -3
  325. data/spec/mongoid/errors/readonly_document_spec.rb +29 -0
  326. data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -3
  327. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -3
  328. data/spec/mongoid/errors/unknown_attribute_spec.rb +5 -5
  329. data/spec/mongoid/errors/unsaved_document_spec.rb +3 -3
  330. data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -3
  331. data/spec/mongoid/errors/validations_spec.rb +7 -7
  332. data/spec/mongoid/extensions/array_spec.rb +61 -61
  333. data/spec/mongoid/extensions/big_decimal_spec.rb +11 -11
  334. data/spec/mongoid/extensions/binary_spec.rb +12 -12
  335. data/spec/mongoid/extensions/boolean_spec.rb +18 -18
  336. data/spec/mongoid/extensions/date_spec.rb +13 -13
  337. data/spec/mongoid/extensions/date_time_spec.rb +8 -8
  338. data/spec/mongoid/extensions/false_class_spec.rb +5 -5
  339. data/spec/mongoid/extensions/float_spec.rb +29 -15
  340. data/spec/mongoid/extensions/hash_spec.rb +29 -29
  341. data/spec/mongoid/extensions/integer_spec.rb +15 -15
  342. data/spec/mongoid/extensions/module_spec.rb +2 -2
  343. data/spec/mongoid/extensions/nil_class_spec.rb +1 -1
  344. data/spec/mongoid/extensions/object_id_spec.rb +134 -134
  345. data/spec/mongoid/extensions/object_spec.rb +26 -26
  346. data/spec/mongoid/extensions/range_spec.rb +61 -12
  347. data/spec/mongoid/extensions/regexp_spec.rb +4 -4
  348. data/spec/mongoid/extensions/set_spec.rb +4 -4
  349. data/spec/mongoid/extensions/string_spec.rb +35 -46
  350. data/spec/mongoid/extensions/symbol_spec.rb +9 -9
  351. data/spec/mongoid/extensions/time_spec.rb +49 -49
  352. data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -34
  353. data/spec/mongoid/extensions/true_class_spec.rb +5 -5
  354. data/spec/mongoid/extensions_spec.rb +29 -0
  355. data/spec/mongoid/factory_spec.rb +15 -15
  356. data/spec/mongoid/fields/foreign_key_spec.rb +73 -66
  357. data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +15 -15
  358. data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +22 -22
  359. data/spec/mongoid/fields/localized_spec.rb +38 -23
  360. data/spec/mongoid/fields/standard_spec.rb +12 -12
  361. data/spec/mongoid/fields_spec.rb +263 -217
  362. data/spec/mongoid/findable_spec.rb +509 -0
  363. data/spec/mongoid/indexable/specification_spec.rb +102 -0
  364. data/spec/mongoid/{indexes_spec.rb → indexable_spec.rb} +171 -51
  365. data/spec/mongoid/{inspection_spec.rb → inspectable_spec.rb} +6 -14
  366. data/spec/mongoid/{callbacks_spec.rb → interceptable_spec.rb} +117 -116
  367. data/spec/mongoid/log_subscriber_spec.rb +75 -0
  368. data/spec/mongoid/loggable_spec.rb +1 -1
  369. data/spec/mongoid/{matchers → matchable}/all_spec.rb +4 -4
  370. data/spec/mongoid/{matchers → matchable}/and_spec.rb +11 -11
  371. data/spec/mongoid/{matchers → matchable}/default_spec.rb +15 -15
  372. data/spec/mongoid/{matchers → matchable}/exists_spec.rb +5 -5
  373. data/spec/mongoid/{matchers → matchable}/gt_spec.rb +9 -8
  374. data/spec/mongoid/{matchers → matchable}/gte_spec.rb +7 -7
  375. data/spec/mongoid/matchable/in_spec.rb +49 -0
  376. data/spec/mongoid/{matchers → matchable}/lt_spec.rb +7 -7
  377. data/spec/mongoid/{matchers → matchable}/lte_spec.rb +7 -7
  378. data/spec/mongoid/{matchers → matchable}/ne_spec.rb +3 -3
  379. data/spec/mongoid/matchable/nin_spec.rb +48 -0
  380. data/spec/mongoid/{matchers → matchable}/or_spec.rb +6 -6
  381. data/spec/mongoid/{matchers → matchable}/size_spec.rb +3 -3
  382. data/spec/mongoid/{matchers_spec.rb → matchable_spec.rb} +41 -41
  383. data/spec/mongoid/persistable/creatable_spec.rb +553 -0
  384. data/spec/mongoid/persistable/deletable_spec.rb +218 -0
  385. data/spec/mongoid/persistable/destroyable_spec.rb +192 -0
  386. data/spec/mongoid/persistable/incrementable_spec.rb +173 -0
  387. data/spec/mongoid/persistable/logical_spec.rb +143 -0
  388. data/spec/mongoid/persistable/poppable_spec.rb +115 -0
  389. data/spec/mongoid/persistable/pullable_spec.rb +228 -0
  390. data/spec/mongoid/persistable/pushable_spec.rb +258 -0
  391. data/spec/mongoid/persistable/renamable_spec.rb +135 -0
  392. data/spec/mongoid/persistable/savable_spec.rb +498 -0
  393. data/spec/mongoid/persistable/settable_spec.rb +162 -0
  394. data/spec/mongoid/persistable/unsettable_spec.rb +155 -0
  395. data/spec/mongoid/persistable/updatable_spec.rb +558 -0
  396. data/spec/mongoid/persistable/upsertable_spec.rb +106 -0
  397. data/spec/mongoid/persistable_spec.rb +206 -0
  398. data/spec/mongoid/{atomic/positionable_spec.rb → positional_spec.rb} +9 -9
  399. data/spec/mongoid/query_cache_spec.rb +263 -0
  400. data/spec/mongoid/railties/document_spec.rb +2 -2
  401. data/spec/mongoid/relations/accessors_spec.rb +53 -145
  402. data/spec/mongoid/relations/auto_save_spec.rb +37 -17
  403. data/spec/mongoid/relations/bindings/embedded/in_spec.rb +12 -12
  404. data/spec/mongoid/relations/bindings/embedded/many_spec.rb +3 -3
  405. data/spec/mongoid/relations/bindings/embedded/one_spec.rb +5 -5
  406. data/spec/mongoid/relations/bindings/referenced/in_spec.rb +26 -26
  407. data/spec/mongoid/relations/bindings/referenced/many_spec.rb +10 -10
  408. data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +19 -19
  409. data/spec/mongoid/relations/bindings/referenced/one_spec.rb +12 -12
  410. data/spec/mongoid/relations/builders/embedded/in_spec.rb +4 -4
  411. data/spec/mongoid/relations/builders/embedded/many_spec.rb +18 -18
  412. data/spec/mongoid/relations/builders/embedded/one_spec.rb +11 -11
  413. data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +12 -13
  414. data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +14 -14
  415. data/spec/mongoid/relations/builders/referenced/in_spec.rb +24 -35
  416. data/spec/mongoid/relations/builders/referenced/many_spec.rb +15 -15
  417. data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +18 -18
  418. data/spec/mongoid/relations/builders/referenced/one_spec.rb +12 -25
  419. data/spec/mongoid/relations/builders_spec.rb +21 -21
  420. data/spec/mongoid/relations/cascading/delete_spec.rb +9 -9
  421. data/spec/mongoid/relations/cascading/destroy_spec.rb +6 -6
  422. data/spec/mongoid/relations/cascading/nullify_spec.rb +4 -4
  423. data/spec/mongoid/relations/cascading/restrict_spec.rb +7 -7
  424. data/spec/mongoid/relations/cascading_spec.rb +16 -16
  425. data/spec/mongoid/relations/constraint_spec.rb +8 -7
  426. data/spec/mongoid/relations/conversions_spec.rb +16 -14
  427. data/spec/mongoid/relations/counter_cache_spec.rb +85 -0
  428. data/spec/mongoid/relations/cyclic_spec.rb +18 -18
  429. data/spec/mongoid/relations/eager/belongs_to_spec.rb +154 -0
  430. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +117 -0
  431. data/spec/mongoid/relations/eager/has_many_spec.rb +207 -0
  432. data/spec/mongoid/relations/eager/has_one_spec.rb +163 -0
  433. data/spec/mongoid/relations/eager_spec.rb +228 -0
  434. data/spec/mongoid/relations/embedded/dirty_spec.rb +8 -8
  435. data/spec/mongoid/relations/embedded/in_spec.rb +56 -57
  436. data/spec/mongoid/relations/embedded/many_spec.rb +467 -372
  437. data/spec/mongoid/relations/embedded/one_spec.rb +108 -141
  438. data/spec/mongoid/relations/macros_spec.rb +108 -102
  439. data/spec/mongoid/relations/metadata_spec.rb +180 -255
  440. data/spec/mongoid/relations/options_spec.rb +1 -1
  441. data/spec/mongoid/relations/polymorphic_spec.rb +13 -17
  442. data/spec/mongoid/relations/proxy_spec.rb +2 -2
  443. data/spec/mongoid/relations/referenced/in_spec.rb +128 -303
  444. data/spec/mongoid/relations/referenced/many_spec.rb +587 -527
  445. data/spec/mongoid/relations/referenced/many_to_many_spec.rb +401 -424
  446. data/spec/mongoid/relations/referenced/one_spec.rb +149 -264
  447. data/spec/mongoid/relations/reflections_spec.rb +6 -6
  448. data/spec/mongoid/relations/synchronization_spec.rb +46 -50
  449. data/spec/mongoid/relations/targets/enumerable_spec.rb +118 -118
  450. data/spec/mongoid/relations/touchable_spec.rb +333 -0
  451. data/spec/mongoid/relations_spec.rb +16 -15
  452. data/spec/mongoid/{reloading_spec.rb → reloadable_spec.rb} +38 -55
  453. data/spec/mongoid/{scoping_spec.rb → scopable_spec.rb} +89 -164
  454. data/spec/mongoid/selectable_spec.rb +134 -0
  455. data/spec/mongoid/{serialization_spec.rb → serializable_spec.rb} +129 -82
  456. data/spec/mongoid/sessions/factory_spec.rb +49 -28
  457. data/spec/mongoid/sessions/mongo_uri_spec.rb +7 -7
  458. data/spec/mongoid/sessions/options_spec.rb +108 -0
  459. data/spec/mongoid/sessions_spec.rb +319 -178
  460. data/spec/mongoid/{sharding_spec.rb → shardable_spec.rb} +8 -8
  461. data/spec/mongoid/{state_spec.rb → stateful_spec.rb} +36 -11
  462. data/spec/mongoid/tasks/database_rake_spec.rb +285 -0
  463. data/spec/mongoid/tasks/database_spec.rb +160 -0
  464. data/spec/mongoid/threaded_spec.rb +17 -70
  465. data/spec/mongoid/timestamps/created/short_spec.rb +6 -6
  466. data/spec/mongoid/timestamps/created_spec.rb +5 -5
  467. data/spec/mongoid/timestamps/timeless_spec.rb +6 -6
  468. data/spec/mongoid/timestamps/updated/short_spec.rb +11 -11
  469. data/spec/mongoid/timestamps/updated_spec.rb +9 -13
  470. data/spec/mongoid/timestamps_spec.rb +9 -13
  471. data/spec/mongoid/{hierarchy_spec.rb → traversable_spec.rb} +19 -19
  472. data/spec/mongoid/{validations → validatable}/associated_spec.rb +45 -22
  473. data/spec/mongoid/{validations → validatable}/format_spec.rb +6 -6
  474. data/spec/mongoid/{validations → validatable}/length_spec.rb +14 -14
  475. data/spec/mongoid/{validations → validatable}/numericality_spec.rb +1 -1
  476. data/spec/mongoid/{validations → validatable}/presence_spec.rb +37 -44
  477. data/spec/mongoid/{validations → validatable}/uniqueness_spec.rb +184 -192
  478. data/spec/mongoid/{validations_spec.rb → validatable_spec.rb} +28 -28
  479. data/spec/mongoid_spec.rb +8 -8
  480. data/spec/rails/mongoid_spec.rb +19 -350
  481. data/spec/spec_helper.rb +26 -15
  482. metadata +262 -247
  483. data/lib/mongoid/atomic/positionable.rb +0 -73
  484. data/lib/mongoid/components.rb +0 -92
  485. data/lib/mongoid/config/inflections.rb +0 -6
  486. data/lib/mongoid/contextual/eager.rb +0 -158
  487. data/lib/mongoid/errors/versioning_not_on_root.rb +0 -23
  488. data/lib/mongoid/identity_map.rb +0 -163
  489. data/lib/mongoid/json.rb +0 -16
  490. data/lib/mongoid/matchers/strategies.rb +0 -97
  491. data/lib/mongoid/matchers.rb +0 -32
  492. data/lib/mongoid/multi_parameter_attributes.rb +0 -105
  493. data/lib/mongoid/nested_attributes.rb +0 -78
  494. data/lib/mongoid/observer.rb +0 -192
  495. data/lib/mongoid/paranoia.rb +0 -136
  496. data/lib/mongoid/persistence/atomic/add_to_set.rb +0 -47
  497. data/lib/mongoid/persistence/atomic/bit.rb +0 -35
  498. data/lib/mongoid/persistence/atomic/inc.rb +0 -45
  499. data/lib/mongoid/persistence/atomic/operation.rb +0 -154
  500. data/lib/mongoid/persistence/atomic/pop.rb +0 -32
  501. data/lib/mongoid/persistence/atomic/pull.rb +0 -32
  502. data/lib/mongoid/persistence/atomic/pull_all.rb +0 -32
  503. data/lib/mongoid/persistence/atomic/push.rb +0 -25
  504. data/lib/mongoid/persistence/atomic/push_all.rb +0 -25
  505. data/lib/mongoid/persistence/atomic/rename.rb +0 -30
  506. data/lib/mongoid/persistence/atomic/sets.rb +0 -28
  507. data/lib/mongoid/persistence/atomic/unset.rb +0 -27
  508. data/lib/mongoid/persistence/atomic.rb +0 -231
  509. data/lib/mongoid/persistence/deletion.rb +0 -31
  510. data/lib/mongoid/persistence/insertion.rb +0 -38
  511. data/lib/mongoid/persistence/modification.rb +0 -35
  512. data/lib/mongoid/persistence/operations/embedded/insert.rb +0 -46
  513. data/lib/mongoid/persistence/operations/embedded/remove.rb +0 -43
  514. data/lib/mongoid/persistence/operations/insert.rb +0 -34
  515. data/lib/mongoid/persistence/operations/remove.rb +0 -33
  516. data/lib/mongoid/persistence/operations/update.rb +0 -59
  517. data/lib/mongoid/persistence/operations/upsert.rb +0 -28
  518. data/lib/mongoid/persistence/operations.rb +0 -214
  519. data/lib/mongoid/persistence/upsertion.rb +0 -31
  520. data/lib/mongoid/persistence.rb +0 -357
  521. data/lib/mongoid/unit_of_work.rb +0 -61
  522. data/lib/mongoid/versioning.rb +0 -217
  523. data/lib/rack/mongoid/middleware/identity_map.rb +0 -39
  524. data/lib/rack/mongoid.rb +0 -2
  525. data/lib/rails/generators/mongoid/observer/observer_generator.rb +0 -17
  526. data/lib/rails/generators/mongoid/observer/templates/observer.rb.tt +0 -4
  527. data/spec/app/models/actor_observer.rb +0 -15
  528. data/spec/app/models/callback_recorder.rb +0 -25
  529. data/spec/app/models/paranoid_phone.rb +0 -25
  530. data/spec/app/models/paranoid_post.rb +0 -36
  531. data/spec/app/models/phone_observer.rb +0 -6
  532. data/spec/mongoid/attributes/processing_spec.rb +0 -149
  533. data/spec/mongoid/criterion/destructive_spec.rb +0 -101
  534. data/spec/mongoid/criterion/modifiable_spec.rb +0 -409
  535. data/spec/mongoid/criterion/modification_spec.rb +0 -402
  536. data/spec/mongoid/errors/versioning_not_on_root_spec.rb +0 -29
  537. data/spec/mongoid/finders_spec.rb +0 -321
  538. data/spec/mongoid/identity_map_spec.rb +0 -564
  539. data/spec/mongoid/json_spec.rb +0 -33
  540. data/spec/mongoid/matchers/in_spec.rb +0 -25
  541. data/spec/mongoid/matchers/nin_spec.rb +0 -25
  542. data/spec/mongoid/multi_parameter_attributes_spec.rb +0 -128
  543. data/spec/mongoid/observer_spec.rb +0 -290
  544. data/spec/mongoid/paranoia_spec.rb +0 -759
  545. data/spec/mongoid/persistence/atomic/add_to_set_spec.rb +0 -262
  546. data/spec/mongoid/persistence/atomic/bit_spec.rb +0 -88
  547. data/spec/mongoid/persistence/atomic/inc_spec.rb +0 -133
  548. data/spec/mongoid/persistence/atomic/pop_spec.rb +0 -111
  549. data/spec/mongoid/persistence/atomic/pull_all_spec.rb +0 -77
  550. data/spec/mongoid/persistence/atomic/pull_spec.rb +0 -80
  551. data/spec/mongoid/persistence/atomic/push_all_spec.rb +0 -77
  552. data/spec/mongoid/persistence/atomic/push_spec.rb +0 -77
  553. data/spec/mongoid/persistence/atomic/rename_spec.rb +0 -42
  554. data/spec/mongoid/persistence/atomic/sets_spec.rb +0 -154
  555. data/spec/mongoid/persistence/atomic/unset_spec.rb +0 -65
  556. data/spec/mongoid/persistence/atomic_spec.rb +0 -216
  557. data/spec/mongoid/persistence/operations/embedded/insert_spec.rb +0 -191
  558. data/spec/mongoid/persistence/operations/embedded/remove_spec.rb +0 -8
  559. data/spec/mongoid/persistence/operations/insert_spec.rb +0 -149
  560. data/spec/mongoid/persistence/operations/remove_spec.rb +0 -113
  561. data/spec/mongoid/persistence/operations/update_spec.rb +0 -141
  562. data/spec/mongoid/persistence/operations/upsert_spec.rb +0 -59
  563. data/spec/mongoid/persistence/operations_spec.rb +0 -313
  564. data/spec/mongoid/persistence_spec.rb +0 -2279
  565. data/spec/mongoid/unit_of_work_spec.rb +0 -196
  566. data/spec/mongoid/versioning_spec.rb +0 -540
  567. data/spec/rack/mongoid/middleware/identity_map_spec.rb +0 -72
@@ -7,7 +7,7 @@ describe Mongoid::Extensions::Array do
7
7
  context "when provided an array of strings" do
8
8
 
9
9
  let(:object_id) do
10
- Moped::BSON::ObjectId.new
10
+ BSON::ObjectId.new
11
11
  end
12
12
 
13
13
  let(:other) do
@@ -23,18 +23,18 @@ describe Mongoid::Extensions::Array do
23
23
  end
24
24
 
25
25
  it "converts the convertible ones to object ids" do
26
- evolved.should eq([ object_id, other ])
26
+ expect(evolved).to eq([ object_id, other ])
27
27
  end
28
28
 
29
29
  it "returns the same instance" do
30
- evolved.should equal(array)
30
+ expect(evolved).to equal(array)
31
31
  end
32
32
  end
33
33
 
34
34
  context "when provided an array of object ids" do
35
35
 
36
36
  let(:object_id) do
37
- Moped::BSON::ObjectId.new
37
+ BSON::ObjectId.new
38
38
  end
39
39
 
40
40
  let(:array) do
@@ -46,18 +46,18 @@ describe Mongoid::Extensions::Array do
46
46
  end
47
47
 
48
48
  it "returns the array" do
49
- evolved.should eq(array)
49
+ expect(evolved).to eq(array)
50
50
  end
51
51
 
52
52
  it "returns the same instance" do
53
- evolved.should equal(array)
53
+ expect(evolved).to equal(array)
54
54
  end
55
55
  end
56
56
 
57
57
  context "when some values are nil" do
58
58
 
59
59
  let(:object_id) do
60
- Moped::BSON::ObjectId.new
60
+ BSON::ObjectId.new
61
61
  end
62
62
 
63
63
  let(:array) do
@@ -69,18 +69,18 @@ describe Mongoid::Extensions::Array do
69
69
  end
70
70
 
71
71
  it "returns the array with the nils" do
72
- evolved.should eq([ object_id, nil ])
72
+ expect(evolved).to eq([ object_id, nil ])
73
73
  end
74
74
 
75
75
  it "returns the same instance" do
76
- evolved.should equal(array)
76
+ expect(evolved).to equal(array)
77
77
  end
78
78
  end
79
79
 
80
80
  context "when some values are empty strings" do
81
81
 
82
82
  let(:object_id) do
83
- Moped::BSON::ObjectId.new
83
+ BSON::ObjectId.new
84
84
  end
85
85
 
86
86
  let(:array) do
@@ -92,11 +92,11 @@ describe Mongoid::Extensions::Array do
92
92
  end
93
93
 
94
94
  it "returns the array with the empty strings" do
95
- evolved.should eq([ object_id, "" ])
95
+ expect(evolved).to eq([ object_id, "" ])
96
96
  end
97
97
 
98
98
  it "returns the same instance" do
99
- evolved.should equal(array)
99
+ expect(evolved).to equal(array)
100
100
  end
101
101
  end
102
102
  end
@@ -106,7 +106,7 @@ describe Mongoid::Extensions::Array do
106
106
  context "when provided an array of strings" do
107
107
 
108
108
  let(:object_id) do
109
- Moped::BSON::ObjectId.new
109
+ BSON::ObjectId.new
110
110
  end
111
111
 
112
112
  let(:other) do
@@ -122,18 +122,18 @@ describe Mongoid::Extensions::Array do
122
122
  end
123
123
 
124
124
  it "converts the convertible ones to object ids" do
125
- mongoized.should eq([ object_id, other ])
125
+ expect(mongoized).to eq([ object_id, other ])
126
126
  end
127
127
 
128
128
  it "returns the same instance" do
129
- mongoized.should equal(array)
129
+ expect(mongoized).to equal(array)
130
130
  end
131
131
  end
132
132
 
133
133
  context "when provided an array of object ids" do
134
134
 
135
135
  let(:object_id) do
136
- Moped::BSON::ObjectId.new
136
+ BSON::ObjectId.new
137
137
  end
138
138
 
139
139
  let(:array) do
@@ -145,18 +145,18 @@ describe Mongoid::Extensions::Array do
145
145
  end
146
146
 
147
147
  it "returns the array" do
148
- mongoized.should eq(array)
148
+ expect(mongoized).to eq(array)
149
149
  end
150
150
 
151
151
  it "returns the same instance" do
152
- mongoized.should equal(array)
152
+ expect(mongoized).to equal(array)
153
153
  end
154
154
  end
155
155
 
156
156
  context "when some values are nil" do
157
157
 
158
158
  let(:object_id) do
159
- Moped::BSON::ObjectId.new
159
+ BSON::ObjectId.new
160
160
  end
161
161
 
162
162
  let(:array) do
@@ -168,18 +168,18 @@ describe Mongoid::Extensions::Array do
168
168
  end
169
169
 
170
170
  it "returns the array without the nils" do
171
- mongoized.should eq([ object_id ])
171
+ expect(mongoized).to eq([ object_id ])
172
172
  end
173
173
 
174
174
  it "returns the same instance" do
175
- mongoized.should equal(array)
175
+ expect(mongoized).to equal(array)
176
176
  end
177
177
  end
178
178
 
179
179
  context "when some values are empty strings" do
180
180
 
181
181
  let(:object_id) do
182
- Moped::BSON::ObjectId.new
182
+ BSON::ObjectId.new
183
183
  end
184
184
 
185
185
  let(:array) do
@@ -191,11 +191,11 @@ describe Mongoid::Extensions::Array do
191
191
  end
192
192
 
193
193
  it "returns the array without the empty strings" do
194
- mongoized.should eq([ object_id ])
194
+ expect(mongoized).to eq([ object_id ])
195
195
  end
196
196
 
197
197
  it "returns the same instance" do
198
- mongoized.should equal(array)
198
+ expect(mongoized).to equal(array)
199
199
  end
200
200
  end
201
201
  end
@@ -215,7 +215,7 @@ describe Mongoid::Extensions::Array do
215
215
  context "when provided an object id" do
216
216
 
217
217
  let(:object_id) do
218
- Moped::BSON::ObjectId.new
218
+ BSON::ObjectId.new
219
219
  end
220
220
 
221
221
  let(:fk) do
@@ -223,14 +223,14 @@ describe Mongoid::Extensions::Array do
223
223
  end
224
224
 
225
225
  it "returns the object id as an array" do
226
- fk.should eq([ object_id ])
226
+ expect(fk).to eq([ object_id ])
227
227
  end
228
228
  end
229
229
 
230
230
  context "when provided a object ids" do
231
231
 
232
232
  let(:object_id) do
233
- Moped::BSON::ObjectId.new
233
+ BSON::ObjectId.new
234
234
  end
235
235
 
236
236
  let(:fk) do
@@ -238,7 +238,7 @@ describe Mongoid::Extensions::Array do
238
238
  end
239
239
 
240
240
  it "returns the object ids" do
241
- fk.should eq([ object_id ])
241
+ expect(fk).to eq([ object_id ])
242
242
  end
243
243
  end
244
244
 
@@ -247,7 +247,7 @@ describe Mongoid::Extensions::Array do
247
247
  context "when the string is a legal object id" do
248
248
 
249
249
  let(:object_id) do
250
- Moped::BSON::ObjectId.new
250
+ BSON::ObjectId.new
251
251
  end
252
252
 
253
253
  let(:fk) do
@@ -255,7 +255,7 @@ describe Mongoid::Extensions::Array do
255
255
  end
256
256
 
257
257
  it "returns the object id in an array" do
258
- fk.should eq([ object_id ])
258
+ expect(fk).to eq([ object_id ])
259
259
  end
260
260
  end
261
261
 
@@ -270,7 +270,7 @@ describe Mongoid::Extensions::Array do
270
270
  end
271
271
 
272
272
  it "returns the string in an array" do
273
- fk.should eq([ string ])
273
+ expect(fk).to eq([ string ])
274
274
  end
275
275
  end
276
276
 
@@ -281,7 +281,7 @@ describe Mongoid::Extensions::Array do
281
281
  end
282
282
 
283
283
  it "returns an empty array" do
284
- fk.should be_empty
284
+ expect(fk).to be_empty
285
285
  end
286
286
  end
287
287
  end
@@ -293,7 +293,7 @@ describe Mongoid::Extensions::Array do
293
293
  end
294
294
 
295
295
  it "returns an empty array" do
296
- fk.should be_empty
296
+ expect(fk).to be_empty
297
297
  end
298
298
  end
299
299
 
@@ -302,7 +302,7 @@ describe Mongoid::Extensions::Array do
302
302
  context "when the strings are legal object ids" do
303
303
 
304
304
  let(:object_id) do
305
- Moped::BSON::ObjectId.new
305
+ BSON::ObjectId.new
306
306
  end
307
307
 
308
308
  let(:fk) do
@@ -310,7 +310,7 @@ describe Mongoid::Extensions::Array do
310
310
  end
311
311
 
312
312
  it "returns the object id in an array" do
313
- fk.should eq([ object_id ])
313
+ expect(fk).to eq([ object_id ])
314
314
  end
315
315
  end
316
316
 
@@ -325,7 +325,7 @@ describe Mongoid::Extensions::Array do
325
325
  end
326
326
 
327
327
  it "returns the string in an array" do
328
- fk.should eq([ string ])
328
+ expect(fk).to eq([ string ])
329
329
  end
330
330
  end
331
331
 
@@ -336,7 +336,7 @@ describe Mongoid::Extensions::Array do
336
336
  end
337
337
 
338
338
  it "returns an empty array" do
339
- fk.should be_empty
339
+ expect(fk).to be_empty
340
340
  end
341
341
  end
342
342
  end
@@ -348,7 +348,7 @@ describe Mongoid::Extensions::Array do
348
348
  end
349
349
 
350
350
  it "returns an empty array" do
351
- fk.should be_empty
351
+ expect(fk).to be_empty
352
352
  end
353
353
  end
354
354
  end
@@ -376,11 +376,11 @@ describe Mongoid::Extensions::Array do
376
376
  end
377
377
 
378
378
  it "converts to a time" do
379
- time.should eq(::Time.zone.local(*array))
379
+ expect(time).to eq(::Time.zone.local(*array))
380
380
  end
381
381
 
382
382
  it "converts to the as time zone" do
383
- time.zone.should eq("JST")
383
+ expect(time.zone).to eq("JST")
384
384
  end
385
385
  end
386
386
 
@@ -404,7 +404,7 @@ describe Mongoid::Extensions::Array do
404
404
  end
405
405
 
406
406
  it "converts to a time" do
407
- time.should eq(Time.local(*array))
407
+ expect(time).to eq(Time.local(*array))
408
408
  end
409
409
  end
410
410
  end
@@ -420,7 +420,7 @@ describe Mongoid::Extensions::Array do
420
420
  end
421
421
 
422
422
  it "returns true" do
423
- array.should be_blank_criteria
423
+ expect(array).to be_blank_criteria
424
424
  end
425
425
  end
426
426
 
@@ -431,7 +431,7 @@ describe Mongoid::Extensions::Array do
431
431
  end
432
432
 
433
433
  it "returns true" do
434
- array.should be_blank_criteria
434
+ expect(array).to be_blank_criteria
435
435
  end
436
436
  end
437
437
  end
@@ -450,7 +450,7 @@ describe Mongoid::Extensions::Array do
450
450
  end
451
451
 
452
452
  it "returns nil" do
453
- deleted.should be_nil
453
+ expect(deleted).to be_nil
454
454
  end
455
455
  end
456
456
 
@@ -465,11 +465,11 @@ describe Mongoid::Extensions::Array do
465
465
  end
466
466
 
467
467
  it "deletes the object" do
468
- array.should eq([ "2" ])
468
+ expect(array).to eq([ "2" ])
469
469
  end
470
470
 
471
471
  it "returns the object" do
472
- deleted.should eq("1")
472
+ expect(deleted).to eq("1")
473
473
  end
474
474
  end
475
475
 
@@ -484,11 +484,11 @@ describe Mongoid::Extensions::Array do
484
484
  end
485
485
 
486
486
  it "deletes the first object" do
487
- array.should eq([ "2", "1" ])
487
+ expect(array).to eq([ "2", "1" ])
488
488
  end
489
489
 
490
490
  it "returns the object" do
491
- deleted.should eq("1")
491
+ expect(deleted).to eq("1")
492
492
  end
493
493
  end
494
494
  end
@@ -500,7 +500,7 @@ describe Mongoid::Extensions::Array do
500
500
  end
501
501
 
502
502
  it "returns the array" do
503
- Array.demongoize(array).should eq(array)
503
+ expect(Array.demongoize(array)).to eq(array)
504
504
  end
505
505
  end
506
506
 
@@ -519,11 +519,11 @@ describe Mongoid::Extensions::Array do
519
519
  end
520
520
 
521
521
  it "mongoizes each element in the array" do
522
- mongoized.first.should be_a(Time)
522
+ expect(mongoized.first).to be_a(Time)
523
523
  end
524
524
 
525
525
  it "converts the elements properly" do
526
- mongoized.first.should eq(date)
526
+ expect(mongoized.first).to eq(Time.utc(2012, 1, 1, 0, 0, 0))
527
527
  end
528
528
  end
529
529
 
@@ -542,11 +542,11 @@ describe Mongoid::Extensions::Array do
542
542
  end
543
543
 
544
544
  it "mongoizes each element in the array" do
545
- mongoized.first.should be_a(Time)
545
+ expect(mongoized.first).to be_a(Time)
546
546
  end
547
547
 
548
548
  it "converts the elements properly" do
549
- mongoized.first.should eq(date)
549
+ expect(mongoized.first).to eq(Time.utc(2012, 1, 1, 0, 0, 0))
550
550
  end
551
551
  end
552
552
 
@@ -559,7 +559,7 @@ describe Mongoid::Extensions::Array do
559
559
  end
560
560
 
561
561
  it "returns true" do
562
- array.should be_multi_arged
562
+ expect(array).to be_multi_arged
563
563
  end
564
564
  end
565
565
 
@@ -572,7 +572,7 @@ describe Mongoid::Extensions::Array do
572
572
  end
573
573
 
574
574
  it "returns false" do
575
- array.should_not be_multi_arged
575
+ expect(array).to_not be_multi_arged
576
576
  end
577
577
  end
578
578
 
@@ -583,7 +583,7 @@ describe Mongoid::Extensions::Array do
583
583
  end
584
584
 
585
585
  it "returns false" do
586
- array.should_not be_multi_arged
586
+ expect(array).to_not be_multi_arged
587
587
  end
588
588
  end
589
589
 
@@ -594,7 +594,7 @@ describe Mongoid::Extensions::Array do
594
594
  end
595
595
 
596
596
  it "returns true" do
597
- array.should be_multi_arged
597
+ expect(array).to be_multi_arged
598
598
  end
599
599
  end
600
600
 
@@ -605,7 +605,7 @@ describe Mongoid::Extensions::Array do
605
605
  end
606
606
 
607
607
  it "returns true" do
608
- array.should be_multi_arged
608
+ expect(array).to be_multi_arged
609
609
  end
610
610
  end
611
611
 
@@ -616,7 +616,7 @@ describe Mongoid::Extensions::Array do
616
616
  end
617
617
 
618
618
  it "returns true" do
619
- array.should be_multi_arged
619
+ expect(array).to be_multi_arged
620
620
  end
621
621
  end
622
622
  end
@@ -625,14 +625,14 @@ describe Mongoid::Extensions::Array do
625
625
  describe ".resizable?" do
626
626
 
627
627
  it "returns true" do
628
- Array.should be_resizable
628
+ expect(Array).to be_resizable
629
629
  end
630
630
  end
631
631
 
632
632
  describe "#resiable?" do
633
633
 
634
634
  it "returns true" do
635
- [].should be_resizable
635
+ expect([]).to be_resizable
636
636
  end
637
637
  end
638
638
  end
@@ -11,14 +11,14 @@ describe Mongoid::Extensions::BigDecimal do
11
11
  context "when the the value is a string" do
12
12
 
13
13
  it "returns a big decimal" do
14
- BigDecimal.demongoize(number.to_s).should eq(number)
14
+ expect(BigDecimal.demongoize(number.to_s)).to eq(number)
15
15
  end
16
16
  end
17
17
 
18
18
  context "when the value is nil" do
19
19
 
20
20
  it "returns nil" do
21
- BigDecimal.demongoize(nil).should be_nil
21
+ expect(BigDecimal.demongoize(nil)).to be_nil
22
22
  end
23
23
  end
24
24
 
@@ -29,7 +29,7 @@ describe Mongoid::Extensions::BigDecimal do
29
29
  end
30
30
 
31
31
  it "returns a float" do
32
- BigDecimal.demongoize(float).should eq(float)
32
+ expect(BigDecimal.demongoize(float)).to eq(float)
33
33
  end
34
34
  end
35
35
 
@@ -40,7 +40,7 @@ describe Mongoid::Extensions::BigDecimal do
40
40
  end
41
41
 
42
42
  it "returns an integer" do
43
- BigDecimal.demongoize(integer).should eq(integer)
43
+ expect(BigDecimal.demongoize(integer)).to eq(integer)
44
44
  end
45
45
  end
46
46
 
@@ -55,11 +55,11 @@ describe Mongoid::Extensions::BigDecimal do
55
55
  end
56
56
 
57
57
  it "returns a big decimal" do
58
- demongoized.should be_a(BigDecimal)
58
+ expect(demongoized).to be_a(BigDecimal)
59
59
  end
60
60
 
61
61
  it "is a NaN big decimal" do
62
- demongoized.should be_nan
62
+ expect(demongoized).to be_nan
63
63
  end
64
64
  end
65
65
  end
@@ -69,28 +69,28 @@ describe Mongoid::Extensions::BigDecimal do
69
69
  context "when the value is a big decimal" do
70
70
 
71
71
  it "returns a string" do
72
- BigDecimal.mongoize(number).should eq(number.to_s)
72
+ expect(BigDecimal.mongoize(number)).to eq(number.to_s)
73
73
  end
74
74
  end
75
75
 
76
76
  context "when the value is nil" do
77
77
 
78
78
  it "returns nil" do
79
- BigDecimal.mongoize(nil).should be_nil
79
+ expect(BigDecimal.mongoize(nil)).to be_nil
80
80
  end
81
81
  end
82
82
 
83
83
  context "when the value is an integer" do
84
84
 
85
85
  it "returns a string" do
86
- BigDecimal.mongoize(123456).should eq("123456")
86
+ expect(BigDecimal.mongoize(123456)).to eq("123456")
87
87
  end
88
88
  end
89
89
 
90
90
  context "when the value is a float" do
91
91
 
92
92
  it "returns a string" do
93
- BigDecimal.mongoize(123456.789).should eq("123456.789")
93
+ expect(BigDecimal.mongoize(123456.789)).to eq("123456.789")
94
94
  end
95
95
  end
96
96
  end
@@ -98,7 +98,7 @@ describe Mongoid::Extensions::BigDecimal do
98
98
  describe "#mongoize" do
99
99
 
100
100
  it "returns a string" do
101
- number.mongoize.should eq(number.to_s)
101
+ expect(number.mongoize).to eq(number.to_s)
102
102
  end
103
103
  end
104
104
  end
@@ -1,60 +1,60 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Moped::BSON::Binary do
3
+ describe BSON::Binary do
4
4
 
5
5
  describe "#mongoize" do
6
6
 
7
7
  let(:binary) do
8
- Moped::BSON::Binary.new(:md5, "testing")
8
+ BSON::Binary.new("testing", :md5)
9
9
  end
10
10
 
11
11
  it "returns the binary" do
12
- binary.mongoize.should eq(binary)
12
+ expect(binary.mongoize).to eq(binary)
13
13
  end
14
14
  end
15
15
 
16
16
  describe ".demongoize" do
17
17
 
18
18
  let(:binary) do
19
- Moped::BSON::Binary.new(:md5, "testing")
19
+ BSON::Binary.new("testing", :md5)
20
20
  end
21
21
 
22
22
  let(:demongoized) do
23
- Moped::BSON::Binary.demongoize(binary)
23
+ BSON::Binary.demongoize(binary)
24
24
  end
25
25
 
26
26
  it "returns the binary" do
27
- demongoized.should eq(binary)
27
+ expect(demongoized).to eq(binary)
28
28
  end
29
29
  end
30
30
 
31
31
  describe ".evolve" do
32
32
 
33
33
  let(:binary) do
34
- Moped::BSON::Binary.new(:md5, "testing")
34
+ BSON::Binary.new("testing", :md5)
35
35
  end
36
36
 
37
37
  let(:evolved) do
38
- Moped::BSON::Binary.evolve(binary)
38
+ BSON::Binary.evolve(binary)
39
39
  end
40
40
 
41
41
  it "returns the binary" do
42
- evolved.should eq(binary)
42
+ expect(evolved).to eq(binary)
43
43
  end
44
44
  end
45
45
 
46
46
  describe ".mongoize" do
47
47
 
48
48
  let(:binary) do
49
- Moped::BSON::Binary.new(:md5, "testing")
49
+ BSON::Binary.new("testing", :md5)
50
50
  end
51
51
 
52
52
  let(:mongoized) do
53
- Moped::BSON::Binary.mongoize(binary)
53
+ BSON::Binary.mongoize(binary)
54
54
  end
55
55
 
56
56
  it "returns the binary" do
57
- mongoized.should eq(binary)
57
+ expect(mongoized).to eq(binary)
58
58
  end
59
59
  end
60
60
  end