mongoid 3.1.7 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +423 -9
  3. data/README.md +5 -6
  4. data/lib/config/locales/en.yml +32 -18
  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 +1 -12
  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 +61 -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/mongo.rb +5 -9
  19. data/lib/mongoid/contextual/atomic.rb +53 -53
  20. data/lib/mongoid/contextual/geo_near.rb +1 -1
  21. data/lib/mongoid/contextual/map_reduce.rb +4 -2
  22. data/lib/mongoid/contextual/memory.rb +18 -6
  23. data/lib/mongoid/contextual/mongo.rb +64 -56
  24. data/lib/mongoid/contextual/none.rb +90 -0
  25. data/lib/mongoid/contextual/text_search.rb +178 -0
  26. data/lib/mongoid/contextual.rb +2 -0
  27. data/lib/mongoid/copyable.rb +2 -3
  28. data/lib/mongoid/criteria/{#findable.rb# → findable.rb} +0 -2
  29. data/lib/mongoid/{criterion/inspection.rb → criteria/inspectable.rb} +2 -2
  30. data/lib/mongoid/{criterion → criteria}/marshalable.rb +3 -1
  31. data/lib/mongoid/{criterion → criteria}/modifiable.rb +28 -8
  32. data/lib/mongoid/criteria/permission.rb +70 -0
  33. data/lib/mongoid/{criterion/scoping.rb → criteria/scopable.rb} +2 -2
  34. data/lib/mongoid/criteria.rb +39 -34
  35. data/lib/mongoid/document.rb +32 -17
  36. data/lib/mongoid/errors/document_not_destroyed.rb +25 -0
  37. data/lib/mongoid/errors/document_not_found.rb +2 -1
  38. data/lib/mongoid/errors/invalid_storage_options.rb +1 -1
  39. data/lib/mongoid/errors/invalid_storage_parent.rb +26 -0
  40. data/lib/mongoid/errors/invalid_value.rb +16 -0
  41. data/lib/mongoid/errors/mongoid_error.rb +1 -1
  42. data/lib/mongoid/errors/readonly_document.rb +24 -0
  43. data/lib/mongoid/errors.rb +4 -1
  44. data/lib/mongoid/extensions/array.rb +3 -3
  45. data/lib/mongoid/extensions/big_decimal.rb +1 -1
  46. data/lib/mongoid/extensions/boolean.rb +15 -17
  47. data/lib/mongoid/extensions/date.rb +1 -1
  48. data/lib/mongoid/extensions/date_time.rb +3 -3
  49. data/lib/mongoid/extensions/float.rb +2 -1
  50. data/lib/mongoid/extensions/hash.rb +3 -3
  51. data/lib/mongoid/extensions/integer.rb +1 -1
  52. data/lib/mongoid/extensions/object.rb +7 -7
  53. data/lib/mongoid/extensions/object_id.rb +5 -5
  54. data/lib/mongoid/extensions/range.rb +9 -3
  55. data/lib/mongoid/extensions/regexp.rb +1 -1
  56. data/lib/mongoid/extensions/set.rb +1 -1
  57. data/lib/mongoid/extensions/string.rb +6 -18
  58. data/lib/mongoid/extensions/symbol.rb +1 -1
  59. data/lib/mongoid/extensions/time.rb +3 -3
  60. data/lib/mongoid/extensions/time_with_zone.rb +1 -1
  61. data/lib/mongoid/extensions.rb +2 -7
  62. data/lib/mongoid/factory.rb +8 -6
  63. data/lib/mongoid/fields/foreign_key.rb +3 -3
  64. data/lib/mongoid/fields/localized.rb +1 -1
  65. data/lib/mongoid/fields/standard.rb +5 -17
  66. data/lib/mongoid/fields/validators/macro.rb +15 -5
  67. data/lib/mongoid/fields.rb +41 -8
  68. data/lib/mongoid/{finders.rb → findable.rb} +8 -2
  69. data/lib/mongoid/indexable/specification.rb +104 -0
  70. data/lib/mongoid/{indexes → indexable}/validators/options.rb +2 -1
  71. data/lib/mongoid/{indexes.rb → indexable.rb} +50 -55
  72. data/lib/mongoid/{inspection.rb → inspectable.rb} +15 -11
  73. data/lib/mongoid/{callbacks.rb → interceptable.rb} +30 -62
  74. data/lib/mongoid/log_subscriber.rb +55 -0
  75. data/lib/mongoid/{matchers → matchable}/all.rb +1 -1
  76. data/lib/mongoid/{matchers → matchable}/and.rb +2 -2
  77. data/lib/mongoid/{matchers → matchable}/default.rb +1 -1
  78. data/lib/mongoid/{matchers → matchable}/exists.rb +1 -1
  79. data/lib/mongoid/{matchers → matchable}/gt.rb +1 -1
  80. data/lib/mongoid/{matchers → matchable}/gte.rb +1 -1
  81. data/lib/mongoid/{matchers → matchable}/in.rb +2 -2
  82. data/lib/mongoid/{matchers → matchable}/lt.rb +1 -1
  83. data/lib/mongoid/{matchers → matchable}/lte.rb +1 -1
  84. data/lib/mongoid/{matchers → matchable}/ne.rb +1 -1
  85. data/lib/mongoid/{matchers → matchable}/nin.rb +3 -2
  86. data/lib/mongoid/{matchers → matchable}/or.rb +2 -2
  87. data/lib/mongoid/{matchers → matchable}/size.rb +1 -1
  88. data/lib/mongoid/matchable.rb +152 -0
  89. data/lib/mongoid/persistable/creatable.rb +188 -0
  90. data/lib/mongoid/persistable/deletable.rb +149 -0
  91. data/lib/mongoid/persistable/destroyable.rb +60 -0
  92. data/lib/mongoid/persistable/incrementable.rb +36 -0
  93. data/lib/mongoid/persistable/logical.rb +38 -0
  94. data/lib/mongoid/persistable/poppable.rb +39 -0
  95. data/lib/mongoid/persistable/pullable.rb +55 -0
  96. data/lib/mongoid/persistable/pushable.rb +62 -0
  97. data/lib/mongoid/persistable/renamable.rb +35 -0
  98. data/lib/mongoid/persistable/savable.rb +52 -0
  99. data/lib/mongoid/persistable/settable.rb +33 -0
  100. data/lib/mongoid/persistable/unsettable.rb +36 -0
  101. data/lib/mongoid/persistable/updatable.rb +152 -0
  102. data/lib/mongoid/persistable/upsertable.rb +55 -0
  103. data/lib/mongoid/persistable.rb +216 -0
  104. data/lib/mongoid/positional.rb +71 -0
  105. data/lib/mongoid/query_cache.rb +247 -0
  106. data/lib/mongoid/railtie.rb +32 -45
  107. data/lib/mongoid/railties/database.rake +9 -25
  108. data/lib/mongoid/relations/accessors.rb +13 -49
  109. data/lib/mongoid/relations/auto_save.rb +15 -36
  110. data/lib/mongoid/relations/binding.rb +1 -24
  111. data/lib/mongoid/relations/bindings/embedded/in.rb +1 -1
  112. data/lib/mongoid/relations/bindings/embedded/many.rb +1 -3
  113. data/lib/mongoid/relations/bindings/referenced/in.rb +3 -8
  114. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +3 -1
  115. data/lib/mongoid/relations/builder.rb +1 -1
  116. data/lib/mongoid/relations/builders/nested_attributes/many.rb +10 -13
  117. data/lib/mongoid/relations/builders/nested_attributes/one.rb +4 -5
  118. data/lib/mongoid/relations/builders/referenced/in.rb +1 -1
  119. data/lib/mongoid/relations/builders/referenced/many.rb +1 -2
  120. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -2
  121. data/lib/mongoid/relations/builders/referenced/one.rb +1 -1
  122. data/lib/mongoid/relations/builders.rb +2 -2
  123. data/lib/mongoid/relations/cascading.rb +3 -5
  124. data/lib/mongoid/relations/constraint.rb +1 -1
  125. data/lib/mongoid/relations/conversions.rb +1 -1
  126. data/lib/mongoid/relations/counter_cache.rb +39 -15
  127. data/lib/mongoid/relations/eager/base.rb +149 -0
  128. data/lib/mongoid/relations/eager/belongs_to.rb +31 -0
  129. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +47 -0
  130. data/lib/mongoid/relations/eager/has_many.rb +38 -0
  131. data/lib/mongoid/relations/eager/has_one.rb +30 -0
  132. data/lib/mongoid/relations/eager.rb +46 -0
  133. data/lib/mongoid/relations/embedded/batchable.rb +4 -5
  134. data/lib/mongoid/relations/embedded/in.rb +4 -4
  135. data/lib/mongoid/relations/embedded/many.rb +14 -32
  136. data/lib/mongoid/relations/embedded/one.rb +1 -1
  137. data/lib/mongoid/relations/macros.rb +3 -4
  138. data/lib/mongoid/relations/many.rb +30 -31
  139. data/lib/mongoid/relations/marshalable.rb +3 -3
  140. data/lib/mongoid/relations/metadata.rb +14 -79
  141. data/lib/mongoid/relations/nested_builder.rb +2 -2
  142. data/lib/mongoid/relations/options.rb +1 -0
  143. data/lib/mongoid/relations/polymorphic.rb +0 -1
  144. data/lib/mongoid/relations/proxy.rb +21 -41
  145. data/lib/mongoid/relations/referenced/in.rb +4 -20
  146. data/lib/mongoid/relations/referenced/many.rb +19 -32
  147. data/lib/mongoid/relations/referenced/many_to_many.rb +15 -38
  148. data/lib/mongoid/relations/referenced/one.rb +6 -25
  149. data/lib/mongoid/relations/synchronization.rb +3 -3
  150. data/lib/mongoid/relations/touchable.rb +34 -1
  151. data/lib/mongoid/relations.rb +11 -25
  152. data/lib/mongoid/{reloading.rb → reloadable.rb} +6 -4
  153. data/lib/mongoid/{scoping.rb → scopable.rb} +36 -36
  154. data/lib/mongoid/selectable.rb +59 -0
  155. data/lib/mongoid/{serialization.rb → serializable.rb} +11 -2
  156. data/lib/mongoid/sessions/factory.rb +2 -0
  157. data/lib/mongoid/sessions/options.rb +180 -0
  158. data/lib/mongoid/sessions/storage_options.rb +140 -0
  159. data/lib/mongoid/sessions/thread_options.rb +19 -0
  160. data/lib/mongoid/sessions/validators/storage.rb +16 -3
  161. data/lib/mongoid/sessions.rb +37 -345
  162. data/lib/mongoid/{sharding.rb → shardable.rb} +5 -1
  163. data/lib/mongoid/{state.rb → stateful.rb} +13 -1
  164. data/lib/mongoid/support/query_counter.rb +23 -0
  165. data/lib/mongoid/tasks/database.rake +31 -0
  166. data/lib/mongoid/tasks/database.rb +107 -0
  167. data/lib/mongoid/threaded/lifecycle.rb +0 -28
  168. data/lib/mongoid/threaded.rb +0 -157
  169. data/lib/mongoid/timestamps/updated/short.rb +2 -2
  170. data/lib/mongoid/{hierarchy.rb → traversable.rb} +9 -5
  171. data/lib/mongoid/{validations → validatable}/associated.rb +4 -2
  172. data/lib/mongoid/{validations → validatable}/format.rb +1 -1
  173. data/lib/mongoid/{validations → validatable}/length.rb +1 -1
  174. data/lib/mongoid/{validations → validatable}/localizable.rb +1 -1
  175. data/lib/mongoid/{validations → validatable}/macros.rb +4 -3
  176. data/lib/mongoid/{validations → validatable}/presence.rb +1 -1
  177. data/lib/mongoid/{validations → validatable}/queryable.rb +1 -2
  178. data/lib/mongoid/{validations → validatable}/uniqueness.rb +23 -19
  179. data/lib/mongoid/{validations.rb → validatable.rb} +23 -10
  180. data/lib/mongoid/version.rb +1 -1
  181. data/lib/mongoid.rb +10 -76
  182. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +13 -24
  183. data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
  184. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +0 -3
  185. data/lib/rails/generators/mongoid_generator.rb +3 -40
  186. data/lib/rails/mongoid.rb +0 -122
  187. data/lib/support/ruby_version.rb +1 -1
  188. data/spec/app/models/account.rb +2 -6
  189. data/spec/app/models/acolyte.rb +2 -1
  190. data/spec/app/models/actor.rb +0 -1
  191. data/spec/app/models/address.rb +8 -3
  192. data/spec/app/models/animal.rb +1 -1
  193. data/spec/app/models/appointment.rb +3 -3
  194. data/spec/app/models/article.rb +1 -4
  195. data/spec/app/models/audio.rb +5 -0
  196. data/spec/app/models/author.rb +0 -2
  197. data/spec/app/models/band.rb +3 -2
  198. data/spec/app/models/bar.rb +1 -0
  199. data/spec/app/models/book.rb +1 -0
  200. data/spec/app/models/building.rb +0 -2
  201. data/spec/app/models/building_address.rb +0 -2
  202. data/spec/app/models/bus.rb +1 -1
  203. data/spec/app/models/canvas.rb +1 -1
  204. data/spec/app/models/contractor.rb +0 -2
  205. data/spec/app/models/country_code.rb +1 -1
  206. data/spec/app/models/definition.rb +2 -2
  207. data/spec/app/models/dog.rb +1 -1
  208. data/spec/app/models/dragon.rb +4 -0
  209. data/spec/app/models/drug.rb +1 -3
  210. data/spec/app/models/dungeon.rb +4 -0
  211. data/spec/app/models/edit.rb +5 -0
  212. data/spec/app/models/even.rb +7 -0
  213. data/spec/app/models/event.rb +1 -1
  214. data/spec/app/models/filesystem.rb +1 -0
  215. data/spec/app/models/fish.rb +0 -1
  216. data/spec/app/models/fruits.rb +6 -0
  217. data/spec/app/models/game.rb +0 -2
  218. data/spec/app/models/house.rb +1 -3
  219. data/spec/app/models/item.rb +1 -5
  220. data/spec/app/models/jar.rb +1 -1
  221. data/spec/app/models/label.rb +4 -4
  222. data/spec/app/models/line_item.rb +1 -1
  223. data/spec/app/models/login.rb +1 -1
  224. data/spec/app/models/message.rb +8 -0
  225. data/spec/app/models/movie.rb +1 -0
  226. data/spec/app/models/name.rb +3 -3
  227. data/spec/app/models/note.rb +3 -1
  228. data/spec/app/models/odd.rb +7 -0
  229. data/spec/app/models/oscar.rb +1 -1
  230. data/spec/app/models/parent_doc.rb +1 -1
  231. data/spec/app/models/person.rb +16 -10
  232. data/spec/app/models/phone.rb +1 -3
  233. data/spec/app/models/player.rb +3 -3
  234. data/spec/app/models/post.rb +5 -3
  235. data/spec/app/models/preference.rb +1 -1
  236. data/spec/app/models/quiz.rb +0 -3
  237. data/spec/app/models/record.rb +10 -5
  238. data/spec/app/models/registry.rb +1 -1
  239. data/spec/app/models/server.rb +1 -1
  240. data/spec/app/models/service.rb +3 -3
  241. data/spec/app/models/sound.rb +5 -0
  242. data/spec/app/models/symptom.rb +1 -1
  243. data/spec/app/models/template.rb +1 -1
  244. data/spec/app/models/title.rb +0 -1
  245. data/spec/app/models/track.rb +5 -5
  246. data/spec/app/models/tree.rb +3 -3
  247. data/spec/app/models/video.rb +1 -5
  248. data/spec/app/models/wiki_page.rb +2 -5
  249. data/spec/app/models/word.rb +3 -0
  250. data/spec/app/models/word_origin.rb +1 -1
  251. data/spec/config/mongoid.yml +7 -8
  252. data/spec/helpers.rb +18 -0
  253. data/spec/mongoid/atomic/modifiers_spec.rb +22 -22
  254. data/spec/mongoid/atomic/paths/embedded/many_spec.rb +8 -49
  255. data/spec/mongoid/atomic/paths/embedded/one_spec.rb +7 -49
  256. data/spec/mongoid/atomic/paths/root_spec.rb +3 -61
  257. data/spec/mongoid/atomic/paths_spec.rb +19 -19
  258. data/spec/mongoid/atomic_spec.rb +19 -19
  259. data/spec/mongoid/{nested_attributes_spec.rb → attributes/nested_spec.rb} +335 -448
  260. data/spec/mongoid/attributes/readonly_spec.rb +58 -18
  261. data/spec/mongoid/attributes_spec.rb +300 -436
  262. data/spec/mongoid/{dirty_spec.rb → changeable_spec.rb} +203 -153
  263. data/spec/mongoid/{components_spec.rb → composable_spec.rb} +3 -3
  264. data/spec/mongoid/config/environment_spec.rb +3 -3
  265. data/spec/mongoid/config/options_spec.rb +6 -6
  266. data/spec/mongoid/config_spec.rb +24 -48
  267. data/spec/mongoid/contextual/aggregable/memory_spec.rb +12 -12
  268. data/spec/mongoid/contextual/aggregable/mongo_spec.rb +46 -38
  269. data/spec/mongoid/contextual/atomic_spec.rb +69 -59
  270. data/spec/mongoid/contextual/find_and_modify_spec.rb +14 -14
  271. data/spec/mongoid/contextual/geo_near_spec.rb +22 -22
  272. data/spec/mongoid/contextual/map_reduce_spec.rb +27 -27
  273. data/spec/mongoid/contextual/memory_spec.rb +151 -94
  274. data/spec/mongoid/contextual/mongo_spec.rb +238 -150
  275. data/spec/mongoid/contextual/none_spec.rb +127 -0
  276. data/spec/mongoid/contextual/text_search_spec.rb +209 -0
  277. data/spec/mongoid/copyable_spec.rb +56 -68
  278. data/spec/mongoid/criteria/findable_spec.rb +991 -0
  279. data/spec/mongoid/{criterion/inspection_spec.rb → criteria/inspectable_spec.rb} +5 -5
  280. data/spec/mongoid/{criterion → criteria}/marshalable_spec.rb +2 -2
  281. data/spec/mongoid/criteria/modifiable_spec.rb +1255 -0
  282. data/spec/mongoid/{criterion/scoping_spec.rb → criteria/scopable_spec.rb} +37 -37
  283. data/spec/mongoid/criteria_spec.rb +576 -2293
  284. data/spec/mongoid/document_spec.rb +166 -120
  285. data/spec/mongoid/equality_spec.rb +22 -22
  286. data/spec/mongoid/errors/ambiguous_relationship_spec.rb +3 -3
  287. data/spec/mongoid/errors/callback_spec.rb +3 -3
  288. data/spec/mongoid/errors/delete_restriction_spec.rb +3 -3
  289. data/spec/mongoid/errors/document_not_destroyed_spec.rb +33 -0
  290. data/spec/mongoid/errors/document_not_found_spec.rb +11 -11
  291. data/spec/mongoid/errors/eager_load_spec.rb +3 -3
  292. data/spec/mongoid/errors/invalid_collection_spec.rb +3 -3
  293. data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -3
  294. data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -3
  295. data/spec/mongoid/errors/invalid_field_spec.rb +3 -3
  296. data/spec/mongoid/errors/invalid_find_spec.rb +3 -3
  297. data/spec/mongoid/errors/invalid_includes_spec.rb +3 -3
  298. data/spec/mongoid/errors/invalid_index_spec.rb +3 -3
  299. data/spec/mongoid/errors/invalid_options_spec.rb +3 -3
  300. data/spec/mongoid/errors/invalid_path_spec.rb +3 -3
  301. data/spec/mongoid/errors/invalid_scope_spec.rb +5 -5
  302. data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -3
  303. data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -3
  304. data/spec/mongoid/errors/invalid_time_spec.rb +3 -3
  305. data/spec/mongoid/errors/inverse_not_found_spec.rb +3 -3
  306. data/spec/mongoid/errors/mixed_relations_spec.rb +3 -3
  307. data/spec/mongoid/errors/mixed_session_configuration_spec.rb +3 -3
  308. data/spec/mongoid/errors/mongoid_error_spec.rb +8 -8
  309. data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +3 -3
  310. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  311. data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -3
  312. data/spec/mongoid/errors/no_metadata_spec.rb +3 -3
  313. data/spec/mongoid/errors/no_parent_spec.rb +3 -3
  314. data/spec/mongoid/errors/no_session_config_spec.rb +3 -3
  315. data/spec/mongoid/errors/no_session_database_spec.rb +3 -3
  316. data/spec/mongoid/errors/no_session_hosts_spec.rb +3 -3
  317. data/spec/mongoid/errors/no_sessions_config_spec.rb +3 -3
  318. data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -3
  319. data/spec/mongoid/errors/readonly_document_spec.rb +29 -0
  320. data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -3
  321. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -3
  322. data/spec/mongoid/errors/unknown_attribute_spec.rb +5 -5
  323. data/spec/mongoid/errors/unsaved_document_spec.rb +3 -3
  324. data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -3
  325. data/spec/mongoid/errors/validations_spec.rb +7 -7
  326. data/spec/mongoid/extensions/array_spec.rb +61 -61
  327. data/spec/mongoid/extensions/big_decimal_spec.rb +11 -11
  328. data/spec/mongoid/extensions/binary_spec.rb +12 -12
  329. data/spec/mongoid/extensions/boolean_spec.rb +18 -18
  330. data/spec/mongoid/extensions/date_spec.rb +13 -13
  331. data/spec/mongoid/extensions/date_time_spec.rb +8 -8
  332. data/spec/mongoid/extensions/false_class_spec.rb +5 -5
  333. data/spec/mongoid/extensions/float_spec.rb +29 -15
  334. data/spec/mongoid/extensions/hash_spec.rb +29 -29
  335. data/spec/mongoid/extensions/integer_spec.rb +15 -15
  336. data/spec/mongoid/extensions/module_spec.rb +2 -2
  337. data/spec/mongoid/extensions/nil_class_spec.rb +1 -1
  338. data/spec/mongoid/extensions/object_id_spec.rb +134 -134
  339. data/spec/mongoid/extensions/object_spec.rb +26 -26
  340. data/spec/mongoid/extensions/range_spec.rb +61 -12
  341. data/spec/mongoid/extensions/regexp_spec.rb +4 -4
  342. data/spec/mongoid/extensions/set_spec.rb +4 -4
  343. data/spec/mongoid/extensions/string_spec.rb +35 -46
  344. data/spec/mongoid/extensions/symbol_spec.rb +9 -9
  345. data/spec/mongoid/extensions/time_spec.rb +49 -49
  346. data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -34
  347. data/spec/mongoid/extensions/true_class_spec.rb +5 -5
  348. data/spec/mongoid/extensions_spec.rb +15 -0
  349. data/spec/mongoid/factory_spec.rb +15 -15
  350. data/spec/mongoid/fields/foreign_key_spec.rb +73 -66
  351. data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +15 -15
  352. data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +22 -22
  353. data/spec/mongoid/fields/localized_spec.rb +38 -23
  354. data/spec/mongoid/fields/standard_spec.rb +12 -12
  355. data/spec/mongoid/fields_spec.rb +263 -217
  356. data/spec/mongoid/{finders_spec.rb → findable_spec.rb} +127 -27
  357. data/spec/mongoid/indexable/specification_spec.rb +102 -0
  358. data/spec/mongoid/{indexes_spec.rb → indexable_spec.rb} +171 -51
  359. data/spec/mongoid/{inspection_spec.rb → inspectable_spec.rb} +6 -14
  360. data/spec/mongoid/{callbacks_spec.rb → interceptable_spec.rb} +117 -116
  361. data/spec/mongoid/log_subscriber_spec.rb +75 -0
  362. data/spec/mongoid/loggable_spec.rb +1 -1
  363. data/spec/mongoid/{matchers → matchable}/all_spec.rb +4 -4
  364. data/spec/mongoid/{matchers → matchable}/and_spec.rb +11 -11
  365. data/spec/mongoid/{matchers → matchable}/default_spec.rb +15 -15
  366. data/spec/mongoid/{matchers → matchable}/exists_spec.rb +5 -5
  367. data/spec/mongoid/{matchers → matchable}/gt_spec.rb +9 -8
  368. data/spec/mongoid/{matchers → matchable}/gte_spec.rb +7 -7
  369. data/spec/mongoid/matchable/in_spec.rb +49 -0
  370. data/spec/mongoid/{matchers → matchable}/lt_spec.rb +7 -7
  371. data/spec/mongoid/{matchers → matchable}/lte_spec.rb +7 -7
  372. data/spec/mongoid/{matchers → matchable}/ne_spec.rb +3 -3
  373. data/spec/mongoid/matchable/nin_spec.rb +48 -0
  374. data/spec/mongoid/{matchers → matchable}/or_spec.rb +6 -6
  375. data/spec/mongoid/{matchers → matchable}/size_spec.rb +3 -3
  376. data/spec/mongoid/{matchers_spec.rb → matchable_spec.rb} +41 -41
  377. data/spec/mongoid/persistable/creatable_spec.rb +512 -0
  378. data/spec/mongoid/persistable/deletable_spec.rb +218 -0
  379. data/spec/mongoid/persistable/destroyable_spec.rb +192 -0
  380. data/spec/mongoid/persistable/incrementable_spec.rb +173 -0
  381. data/spec/mongoid/persistable/logical_spec.rb +143 -0
  382. data/spec/mongoid/persistable/poppable_spec.rb +115 -0
  383. data/spec/mongoid/persistable/pullable_spec.rb +228 -0
  384. data/spec/mongoid/persistable/pushable_spec.rb +258 -0
  385. data/spec/mongoid/persistable/renamable_spec.rb +135 -0
  386. data/spec/mongoid/persistable/savable_spec.rb +461 -0
  387. data/spec/mongoid/persistable/settable_spec.rb +139 -0
  388. data/spec/mongoid/persistable/unsettable_spec.rb +155 -0
  389. data/spec/mongoid/persistable/updatable_spec.rb +558 -0
  390. data/spec/mongoid/persistable/upsertable_spec.rb +106 -0
  391. data/spec/mongoid/persistable_spec.rb +206 -0
  392. data/spec/mongoid/{atomic/positionable_spec.rb → positional_spec.rb} +19 -14
  393. data/spec/mongoid/query_cache_spec.rb +231 -0
  394. data/spec/mongoid/railties/document_spec.rb +2 -2
  395. data/spec/mongoid/relations/accessors_spec.rb +53 -145
  396. data/spec/mongoid/relations/auto_save_spec.rb +37 -17
  397. data/spec/mongoid/relations/bindings/embedded/in_spec.rb +12 -12
  398. data/spec/mongoid/relations/bindings/embedded/many_spec.rb +3 -3
  399. data/spec/mongoid/relations/bindings/embedded/one_spec.rb +5 -5
  400. data/spec/mongoid/relations/bindings/referenced/in_spec.rb +26 -26
  401. data/spec/mongoid/relations/bindings/referenced/many_spec.rb +10 -10
  402. data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +19 -19
  403. data/spec/mongoid/relations/bindings/referenced/one_spec.rb +12 -12
  404. data/spec/mongoid/relations/builders/embedded/in_spec.rb +4 -4
  405. data/spec/mongoid/relations/builders/embedded/many_spec.rb +18 -18
  406. data/spec/mongoid/relations/builders/embedded/one_spec.rb +11 -11
  407. data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +12 -13
  408. data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +14 -14
  409. data/spec/mongoid/relations/builders/referenced/in_spec.rb +24 -35
  410. data/spec/mongoid/relations/builders/referenced/many_spec.rb +15 -15
  411. data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +18 -18
  412. data/spec/mongoid/relations/builders/referenced/one_spec.rb +12 -25
  413. data/spec/mongoid/relations/builders_spec.rb +21 -21
  414. data/spec/mongoid/relations/cascading/delete_spec.rb +9 -9
  415. data/spec/mongoid/relations/cascading/destroy_spec.rb +6 -6
  416. data/spec/mongoid/relations/cascading/nullify_spec.rb +4 -4
  417. data/spec/mongoid/relations/cascading/restrict_spec.rb +7 -7
  418. data/spec/mongoid/relations/cascading_spec.rb +16 -16
  419. data/spec/mongoid/relations/constraint_spec.rb +8 -7
  420. data/spec/mongoid/relations/conversions_spec.rb +16 -14
  421. data/spec/mongoid/relations/counter_cache_spec.rb +85 -0
  422. data/spec/mongoid/relations/cyclic_spec.rb +18 -18
  423. data/spec/mongoid/relations/eager/belongs_to_spec.rb +154 -0
  424. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +117 -0
  425. data/spec/mongoid/relations/eager/has_many_spec.rb +207 -0
  426. data/spec/mongoid/relations/eager/has_one_spec.rb +163 -0
  427. data/spec/mongoid/relations/eager_spec.rb +228 -0
  428. data/spec/mongoid/relations/embedded/dirty_spec.rb +8 -8
  429. data/spec/mongoid/relations/embedded/in_spec.rb +56 -57
  430. data/spec/mongoid/relations/embedded/many_spec.rb +393 -372
  431. data/spec/mongoid/relations/embedded/one_spec.rb +108 -141
  432. data/spec/mongoid/relations/macros_spec.rb +108 -102
  433. data/spec/mongoid/relations/metadata_spec.rb +180 -255
  434. data/spec/mongoid/relations/options_spec.rb +1 -1
  435. data/spec/mongoid/relations/polymorphic_spec.rb +13 -17
  436. data/spec/mongoid/relations/proxy_spec.rb +2 -2
  437. data/spec/mongoid/relations/referenced/in_spec.rb +128 -303
  438. data/spec/mongoid/relations/referenced/many_spec.rb +434 -527
  439. data/spec/mongoid/relations/referenced/many_to_many_spec.rb +352 -424
  440. data/spec/mongoid/relations/referenced/one_spec.rb +149 -264
  441. data/spec/mongoid/relations/reflections_spec.rb +6 -6
  442. data/spec/mongoid/relations/synchronization_spec.rb +46 -50
  443. data/spec/mongoid/relations/targets/enumerable_spec.rb +118 -118
  444. data/spec/mongoid/relations/touchable_spec.rb +333 -0
  445. data/spec/mongoid/relations_spec.rb +16 -15
  446. data/spec/mongoid/{reloading_spec.rb → reloadable_spec.rb} +20 -60
  447. data/spec/mongoid/{scoping_spec.rb → scopable_spec.rb} +89 -164
  448. data/spec/mongoid/selectable_spec.rb +134 -0
  449. data/spec/mongoid/{serialization_spec.rb → serializable_spec.rb} +129 -82
  450. data/spec/mongoid/sessions/factory_spec.rb +49 -28
  451. data/spec/mongoid/sessions/mongo_uri_spec.rb +7 -7
  452. data/spec/mongoid/sessions/options_spec.rb +107 -0
  453. data/spec/mongoid/sessions_spec.rb +289 -178
  454. data/spec/mongoid/{sharding_spec.rb → shardable_spec.rb} +8 -8
  455. data/spec/mongoid/{state_spec.rb → stateful_spec.rb} +36 -11
  456. data/spec/mongoid/tasks/database_rake_spec.rb +285 -0
  457. data/spec/mongoid/tasks/database_spec.rb +160 -0
  458. data/spec/mongoid/threaded_spec.rb +17 -70
  459. data/spec/mongoid/timestamps/created/short_spec.rb +6 -6
  460. data/spec/mongoid/timestamps/created_spec.rb +5 -5
  461. data/spec/mongoid/timestamps/timeless_spec.rb +6 -6
  462. data/spec/mongoid/timestamps/updated/short_spec.rb +11 -11
  463. data/spec/mongoid/timestamps/updated_spec.rb +9 -13
  464. data/spec/mongoid/timestamps_spec.rb +9 -13
  465. data/spec/mongoid/{hierarchy_spec.rb → traversable_spec.rb} +19 -19
  466. data/spec/mongoid/{validations → validatable}/associated_spec.rb +45 -22
  467. data/spec/mongoid/{validations → validatable}/format_spec.rb +6 -6
  468. data/spec/mongoid/{validations → validatable}/length_spec.rb +14 -14
  469. data/spec/mongoid/{validations → validatable}/numericality_spec.rb +1 -1
  470. data/spec/mongoid/{validations → validatable}/presence_spec.rb +37 -44
  471. data/spec/mongoid/{validations → validatable}/uniqueness_spec.rb +184 -192
  472. data/spec/mongoid/{validations_spec.rb → validatable_spec.rb} +28 -28
  473. data/spec/mongoid_spec.rb +8 -8
  474. data/spec/rails/mongoid_spec.rb +19 -350
  475. data/spec/spec_helper.rb +24 -15
  476. metadata +259 -251
  477. data/lib/mongoid/atomic/positionable.rb +0 -73
  478. data/lib/mongoid/components.rb +0 -92
  479. data/lib/mongoid/config/inflections.rb +0 -6
  480. data/lib/mongoid/contextual/eager.rb +0 -158
  481. data/lib/mongoid/criterion/findable.rb +0 -179
  482. data/lib/mongoid/errors/versioning_not_on_root.rb +0 -23
  483. data/lib/mongoid/identity_map.rb +0 -163
  484. data/lib/mongoid/json.rb +0 -16
  485. data/lib/mongoid/matchers/strategies.rb +0 -97
  486. data/lib/mongoid/matchers.rb +0 -32
  487. data/lib/mongoid/multi_parameter_attributes.rb +0 -105
  488. data/lib/mongoid/nested_attributes.rb +0 -78
  489. data/lib/mongoid/observer.rb +0 -192
  490. data/lib/mongoid/paranoia.rb +0 -136
  491. data/lib/mongoid/persistence/atomic/add_to_set.rb +0 -47
  492. data/lib/mongoid/persistence/atomic/bit.rb +0 -35
  493. data/lib/mongoid/persistence/atomic/inc.rb +0 -45
  494. data/lib/mongoid/persistence/atomic/operation.rb +0 -154
  495. data/lib/mongoid/persistence/atomic/pop.rb +0 -32
  496. data/lib/mongoid/persistence/atomic/pull.rb +0 -32
  497. data/lib/mongoid/persistence/atomic/pull_all.rb +0 -32
  498. data/lib/mongoid/persistence/atomic/push.rb +0 -25
  499. data/lib/mongoid/persistence/atomic/push_all.rb +0 -25
  500. data/lib/mongoid/persistence/atomic/rename.rb +0 -30
  501. data/lib/mongoid/persistence/atomic/sets.rb +0 -28
  502. data/lib/mongoid/persistence/atomic/unset.rb +0 -27
  503. data/lib/mongoid/persistence/atomic.rb +0 -231
  504. data/lib/mongoid/persistence/deletion.rb +0 -31
  505. data/lib/mongoid/persistence/insertion.rb +0 -38
  506. data/lib/mongoid/persistence/modification.rb +0 -35
  507. data/lib/mongoid/persistence/operations/embedded/insert.rb +0 -46
  508. data/lib/mongoid/persistence/operations/embedded/remove.rb +0 -43
  509. data/lib/mongoid/persistence/operations/insert.rb +0 -34
  510. data/lib/mongoid/persistence/operations/remove.rb +0 -33
  511. data/lib/mongoid/persistence/operations/update.rb +0 -59
  512. data/lib/mongoid/persistence/operations/upsert.rb +0 -28
  513. data/lib/mongoid/persistence/operations.rb +0 -214
  514. data/lib/mongoid/persistence/upsertion.rb +0 -31
  515. data/lib/mongoid/persistence.rb +0 -357
  516. data/lib/mongoid/unit_of_work.rb +0 -61
  517. data/lib/mongoid/versioning.rb +0 -217
  518. data/lib/rack/mongoid/middleware/identity_map.rb +0 -39
  519. data/lib/rack/mongoid.rb +0 -2
  520. data/lib/rails/generators/mongoid/observer/observer_generator.rb +0 -17
  521. data/lib/rails/generators/mongoid/observer/templates/observer.rb.tt +0 -4
  522. data/spec/app/models/actor_observer.rb +0 -15
  523. data/spec/app/models/callback_recorder.rb +0 -25
  524. data/spec/app/models/paranoid_phone.rb +0 -25
  525. data/spec/app/models/paranoid_post.rb +0 -36
  526. data/spec/app/models/phone_observer.rb +0 -6
  527. data/spec/mongoid/#atomic_spec.rb# +0 -365
  528. data/spec/mongoid/attributes/processing_spec.rb +0 -149
  529. data/spec/mongoid/criterion/destructive_spec.rb +0 -101
  530. data/spec/mongoid/criterion/modifiable_spec.rb +0 -409
  531. data/spec/mongoid/criterion/modification_spec.rb +0 -402
  532. data/spec/mongoid/errors/versioning_not_on_root_spec.rb +0 -29
  533. data/spec/mongoid/identity_map_spec.rb +0 -564
  534. data/spec/mongoid/json_spec.rb +0 -33
  535. data/spec/mongoid/matchers/in_spec.rb +0 -25
  536. data/spec/mongoid/matchers/nin_spec.rb +0 -25
  537. data/spec/mongoid/multi_parameter_attributes_spec.rb +0 -128
  538. data/spec/mongoid/observer_spec.rb +0 -290
  539. data/spec/mongoid/paranoia_spec.rb +0 -759
  540. data/spec/mongoid/persistence/atomic/add_to_set_spec.rb +0 -262
  541. data/spec/mongoid/persistence/atomic/bit_spec.rb +0 -88
  542. data/spec/mongoid/persistence/atomic/inc_spec.rb +0 -133
  543. data/spec/mongoid/persistence/atomic/pop_spec.rb +0 -111
  544. data/spec/mongoid/persistence/atomic/pull_all_spec.rb +0 -77
  545. data/spec/mongoid/persistence/atomic/pull_spec.rb +0 -80
  546. data/spec/mongoid/persistence/atomic/push_all_spec.rb +0 -77
  547. data/spec/mongoid/persistence/atomic/push_spec.rb +0 -77
  548. data/spec/mongoid/persistence/atomic/rename_spec.rb +0 -42
  549. data/spec/mongoid/persistence/atomic/sets_spec.rb +0 -154
  550. data/spec/mongoid/persistence/atomic/unset_spec.rb +0 -65
  551. data/spec/mongoid/persistence/atomic_spec.rb +0 -216
  552. data/spec/mongoid/persistence/operations/embedded/insert_spec.rb +0 -191
  553. data/spec/mongoid/persistence/operations/embedded/remove_spec.rb +0 -8
  554. data/spec/mongoid/persistence/operations/insert_spec.rb +0 -149
  555. data/spec/mongoid/persistence/operations/remove_spec.rb +0 -113
  556. data/spec/mongoid/persistence/operations/update_spec.rb +0 -141
  557. data/spec/mongoid/persistence/operations/upsert_spec.rb +0 -59
  558. data/spec/mongoid/persistence/operations_spec.rb +0 -313
  559. data/spec/mongoid/persistence_spec.rb +0 -2279
  560. data/spec/mongoid/unit_of_work_spec.rb +0 -196
  561. data/spec/mongoid/versioning_spec.rb +0 -540
  562. data/spec/rack/mongoid/middleware/identity_map_spec.rb +0 -72
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-19 00:00:00.000000000 Z
11
+ date: 2014-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: tzinfo
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.29
33
+ version: 0.3.37
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.29
40
+ version: 0.3.37
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: moped
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.4'
47
+ version: 2.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.4'
54
+ version: 2.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: origin
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '2.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.0'
68
+ version: '2.1'
69
69
  description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
70
70
  in Ruby.
71
71
  email:
@@ -87,15 +87,15 @@ files:
87
87
  - lib/mongoid/atomic/paths/embedded/many.rb
88
88
  - lib/mongoid/atomic/paths/embedded/one.rb
89
89
  - lib/mongoid/atomic/paths/root.rb
90
- - lib/mongoid/atomic/positionable.rb
91
90
  - lib/mongoid/attributes.rb
91
+ - lib/mongoid/attributes/dynamic.rb
92
+ - lib/mongoid/attributes/nested.rb
92
93
  - lib/mongoid/attributes/processing.rb
93
94
  - lib/mongoid/attributes/readonly.rb
94
- - lib/mongoid/callbacks.rb
95
- - lib/mongoid/components.rb
95
+ - lib/mongoid/changeable.rb
96
+ - lib/mongoid/composable.rb
96
97
  - lib/mongoid/config.rb
97
98
  - lib/mongoid/config/environment.rb
98
- - lib/mongoid/config/inflections.rb
99
99
  - lib/mongoid/config/options.rb
100
100
  - lib/mongoid/config/validators.rb
101
101
  - lib/mongoid/config/validators/option.rb
@@ -105,28 +105,29 @@ files:
105
105
  - lib/mongoid/contextual/aggregable/mongo.rb
106
106
  - lib/mongoid/contextual/atomic.rb
107
107
  - lib/mongoid/contextual/command.rb
108
- - lib/mongoid/contextual/eager.rb
109
108
  - lib/mongoid/contextual/find_and_modify.rb
110
109
  - lib/mongoid/contextual/geo_near.rb
111
110
  - lib/mongoid/contextual/map_reduce.rb
112
111
  - lib/mongoid/contextual/memory.rb
113
112
  - lib/mongoid/contextual/mongo.rb
113
+ - lib/mongoid/contextual/none.rb
114
114
  - lib/mongoid/contextual/queryable.rb
115
+ - lib/mongoid/contextual/text_search.rb
115
116
  - lib/mongoid/copyable.rb
116
117
  - lib/mongoid/criteria.rb
117
- - lib/mongoid/criteria/#findable.rb#
118
- - lib/mongoid/criterion/findable.rb
119
- - lib/mongoid/criterion/inspection.rb
120
- - lib/mongoid/criterion/marshalable.rb
121
- - lib/mongoid/criterion/modifiable.rb
122
- - lib/mongoid/criterion/scoping.rb
123
- - lib/mongoid/dirty.rb
118
+ - lib/mongoid/criteria/findable.rb
119
+ - lib/mongoid/criteria/inspectable.rb
120
+ - lib/mongoid/criteria/marshalable.rb
121
+ - lib/mongoid/criteria/modifiable.rb
122
+ - lib/mongoid/criteria/permission.rb
123
+ - lib/mongoid/criteria/scopable.rb
124
124
  - lib/mongoid/document.rb
125
125
  - lib/mongoid/equality.rb
126
126
  - lib/mongoid/errors.rb
127
127
  - lib/mongoid/errors/ambiguous_relationship.rb
128
128
  - lib/mongoid/errors/callback.rb
129
129
  - lib/mongoid/errors/delete_restriction.rb
130
+ - lib/mongoid/errors/document_not_destroyed.rb
130
131
  - lib/mongoid/errors/document_not_found.rb
131
132
  - lib/mongoid/errors/eager_load.rb
132
133
  - lib/mongoid/errors/invalid_collection.rb
@@ -141,7 +142,9 @@ files:
141
142
  - lib/mongoid/errors/invalid_scope.rb
142
143
  - lib/mongoid/errors/invalid_set_polymorphic_relation.rb
143
144
  - lib/mongoid/errors/invalid_storage_options.rb
145
+ - lib/mongoid/errors/invalid_storage_parent.rb
144
146
  - lib/mongoid/errors/invalid_time.rb
147
+ - lib/mongoid/errors/invalid_value.rb
145
148
  - lib/mongoid/errors/inverse_not_found.rb
146
149
  - lib/mongoid/errors/mixed_relations.rb
147
150
  - lib/mongoid/errors/mixed_session_configuration.rb
@@ -157,13 +160,13 @@ files:
157
160
  - lib/mongoid/errors/no_session_hosts.rb
158
161
  - lib/mongoid/errors/no_sessions_config.rb
159
162
  - lib/mongoid/errors/readonly_attribute.rb
163
+ - lib/mongoid/errors/readonly_document.rb
160
164
  - lib/mongoid/errors/scope_overwrite.rb
161
165
  - lib/mongoid/errors/too_many_nested_attribute_records.rb
162
166
  - lib/mongoid/errors/unknown_attribute.rb
163
167
  - lib/mongoid/errors/unsaved_document.rb
164
168
  - lib/mongoid/errors/unsupported_javascript.rb
165
169
  - lib/mongoid/errors/validations.rb
166
- - lib/mongoid/errors/versioning_not_on_root.rb
167
170
  - lib/mongoid/evolvable.rb
168
171
  - lib/mongoid/extensions.rb
169
172
  - lib/mongoid/extensions/array.rb
@@ -194,58 +197,45 @@ files:
194
197
  - lib/mongoid/fields/standard.rb
195
198
  - lib/mongoid/fields/validators.rb
196
199
  - lib/mongoid/fields/validators/macro.rb
197
- - lib/mongoid/finders.rb
198
- - lib/mongoid/hierarchy.rb
199
- - lib/mongoid/identity_map.rb
200
- - lib/mongoid/indexes.rb
201
- - lib/mongoid/indexes/validators/options.rb
202
- - lib/mongoid/inspection.rb
203
- - lib/mongoid/json.rb
200
+ - lib/mongoid/findable.rb
201
+ - lib/mongoid/indexable.rb
202
+ - lib/mongoid/indexable/specification.rb
203
+ - lib/mongoid/indexable/validators/options.rb
204
+ - lib/mongoid/inspectable.rb
205
+ - lib/mongoid/interceptable.rb
206
+ - lib/mongoid/log_subscriber.rb
204
207
  - lib/mongoid/loggable.rb
205
- - lib/mongoid/matchers.rb
206
- - lib/mongoid/matchers/all.rb
207
- - lib/mongoid/matchers/and.rb
208
- - lib/mongoid/matchers/default.rb
209
- - lib/mongoid/matchers/exists.rb
210
- - lib/mongoid/matchers/gt.rb
211
- - lib/mongoid/matchers/gte.rb
212
- - lib/mongoid/matchers/in.rb
213
- - lib/mongoid/matchers/lt.rb
214
- - lib/mongoid/matchers/lte.rb
215
- - lib/mongoid/matchers/ne.rb
216
- - lib/mongoid/matchers/nin.rb
217
- - lib/mongoid/matchers/or.rb
218
- - lib/mongoid/matchers/size.rb
219
- - lib/mongoid/matchers/strategies.rb
220
- - lib/mongoid/multi_parameter_attributes.rb
221
- - lib/mongoid/nested_attributes.rb
222
- - lib/mongoid/observer.rb
223
- - lib/mongoid/paranoia.rb
224
- - lib/mongoid/persistence.rb
225
- - lib/mongoid/persistence/atomic.rb
226
- - lib/mongoid/persistence/atomic/add_to_set.rb
227
- - lib/mongoid/persistence/atomic/bit.rb
228
- - lib/mongoid/persistence/atomic/inc.rb
229
- - lib/mongoid/persistence/atomic/operation.rb
230
- - lib/mongoid/persistence/atomic/pop.rb
231
- - lib/mongoid/persistence/atomic/pull.rb
232
- - lib/mongoid/persistence/atomic/pull_all.rb
233
- - lib/mongoid/persistence/atomic/push.rb
234
- - lib/mongoid/persistence/atomic/push_all.rb
235
- - lib/mongoid/persistence/atomic/rename.rb
236
- - lib/mongoid/persistence/atomic/sets.rb
237
- - lib/mongoid/persistence/atomic/unset.rb
238
- - lib/mongoid/persistence/deletion.rb
239
- - lib/mongoid/persistence/insertion.rb
240
- - lib/mongoid/persistence/modification.rb
241
- - lib/mongoid/persistence/operations.rb
242
- - lib/mongoid/persistence/operations/embedded/insert.rb
243
- - lib/mongoid/persistence/operations/embedded/remove.rb
244
- - lib/mongoid/persistence/operations/insert.rb
245
- - lib/mongoid/persistence/operations/remove.rb
246
- - lib/mongoid/persistence/operations/update.rb
247
- - lib/mongoid/persistence/operations/upsert.rb
248
- - lib/mongoid/persistence/upsertion.rb
208
+ - lib/mongoid/matchable.rb
209
+ - lib/mongoid/matchable/all.rb
210
+ - lib/mongoid/matchable/and.rb
211
+ - lib/mongoid/matchable/default.rb
212
+ - lib/mongoid/matchable/exists.rb
213
+ - lib/mongoid/matchable/gt.rb
214
+ - lib/mongoid/matchable/gte.rb
215
+ - lib/mongoid/matchable/in.rb
216
+ - lib/mongoid/matchable/lt.rb
217
+ - lib/mongoid/matchable/lte.rb
218
+ - lib/mongoid/matchable/ne.rb
219
+ - lib/mongoid/matchable/nin.rb
220
+ - lib/mongoid/matchable/or.rb
221
+ - lib/mongoid/matchable/size.rb
222
+ - lib/mongoid/persistable.rb
223
+ - lib/mongoid/persistable/creatable.rb
224
+ - lib/mongoid/persistable/deletable.rb
225
+ - lib/mongoid/persistable/destroyable.rb
226
+ - lib/mongoid/persistable/incrementable.rb
227
+ - lib/mongoid/persistable/logical.rb
228
+ - lib/mongoid/persistable/poppable.rb
229
+ - lib/mongoid/persistable/pullable.rb
230
+ - lib/mongoid/persistable/pushable.rb
231
+ - lib/mongoid/persistable/renamable.rb
232
+ - lib/mongoid/persistable/savable.rb
233
+ - lib/mongoid/persistable/settable.rb
234
+ - lib/mongoid/persistable/unsettable.rb
235
+ - lib/mongoid/persistable/updatable.rb
236
+ - lib/mongoid/persistable/upsertable.rb
237
+ - lib/mongoid/positional.rb
238
+ - lib/mongoid/query_cache.rb
249
239
  - lib/mongoid/railtie.rb
250
240
  - lib/mongoid/railties/database.rake
251
241
  - lib/mongoid/railties/document.rb
@@ -281,6 +271,12 @@ files:
281
271
  - lib/mongoid/relations/conversions.rb
282
272
  - lib/mongoid/relations/counter_cache.rb
283
273
  - lib/mongoid/relations/cyclic.rb
274
+ - lib/mongoid/relations/eager.rb
275
+ - lib/mongoid/relations/eager/base.rb
276
+ - lib/mongoid/relations/eager/belongs_to.rb
277
+ - lib/mongoid/relations/eager/has_and_belongs_to_many.rb
278
+ - lib/mongoid/relations/eager/has_many.rb
279
+ - lib/mongoid/relations/eager/has_one.rb
284
280
  - lib/mongoid/relations/embedded/batchable.rb
285
281
  - lib/mongoid/relations/embedded/in.rb
286
282
  - lib/mongoid/relations/embedded/many.rb
@@ -303,16 +299,23 @@ files:
303
299
  - lib/mongoid/relations/targets.rb
304
300
  - lib/mongoid/relations/targets/enumerable.rb
305
301
  - lib/mongoid/relations/touchable.rb
306
- - lib/mongoid/reloading.rb
307
- - lib/mongoid/scoping.rb
308
- - lib/mongoid/serialization.rb
302
+ - lib/mongoid/reloadable.rb
303
+ - lib/mongoid/scopable.rb
304
+ - lib/mongoid/selectable.rb
305
+ - lib/mongoid/serializable.rb
309
306
  - lib/mongoid/sessions.rb
310
307
  - lib/mongoid/sessions/factory.rb
311
308
  - lib/mongoid/sessions/mongo_uri.rb
309
+ - lib/mongoid/sessions/options.rb
310
+ - lib/mongoid/sessions/storage_options.rb
311
+ - lib/mongoid/sessions/thread_options.rb
312
312
  - lib/mongoid/sessions/validators.rb
313
313
  - lib/mongoid/sessions/validators/storage.rb
314
- - lib/mongoid/sharding.rb
315
- - lib/mongoid/state.rb
314
+ - lib/mongoid/shardable.rb
315
+ - lib/mongoid/stateful.rb
316
+ - lib/mongoid/support/query_counter.rb
317
+ - lib/mongoid/tasks/database.rake
318
+ - lib/mongoid/tasks/database.rb
316
319
  - lib/mongoid/threaded.rb
317
320
  - lib/mongoid/threaded/lifecycle.rb
318
321
  - lib/mongoid/timestamps.rb
@@ -322,33 +325,27 @@ files:
322
325
  - lib/mongoid/timestamps/timeless.rb
323
326
  - lib/mongoid/timestamps/updated.rb
324
327
  - lib/mongoid/timestamps/updated/short.rb
325
- - lib/mongoid/unit_of_work.rb
326
- - lib/mongoid/validations.rb
327
- - lib/mongoid/validations/associated.rb
328
- - lib/mongoid/validations/format.rb
329
- - lib/mongoid/validations/length.rb
330
- - lib/mongoid/validations/localizable.rb
331
- - lib/mongoid/validations/macros.rb
332
- - lib/mongoid/validations/presence.rb
333
- - lib/mongoid/validations/queryable.rb
334
- - lib/mongoid/validations/uniqueness.rb
328
+ - lib/mongoid/traversable.rb
329
+ - lib/mongoid/validatable.rb
330
+ - lib/mongoid/validatable/associated.rb
331
+ - lib/mongoid/validatable/format.rb
332
+ - lib/mongoid/validatable/length.rb
333
+ - lib/mongoid/validatable/localizable.rb
334
+ - lib/mongoid/validatable/macros.rb
335
+ - lib/mongoid/validatable/presence.rb
336
+ - lib/mongoid/validatable/queryable.rb
337
+ - lib/mongoid/validatable/uniqueness.rb
335
338
  - lib/mongoid/version.rb
336
- - lib/mongoid/versioning.rb
337
- - lib/rack/mongoid.rb
338
- - lib/rack/mongoid/middleware/identity_map.rb
339
339
  - lib/rails/generators/mongoid/config/config_generator.rb
340
340
  - lib/rails/generators/mongoid/config/templates/mongoid.yml
341
341
  - lib/rails/generators/mongoid/model/model_generator.rb
342
342
  - lib/rails/generators/mongoid/model/templates/model.rb.tt
343
- - lib/rails/generators/mongoid/observer/observer_generator.rb
344
- - lib/rails/generators/mongoid/observer/templates/observer.rb.tt
345
343
  - lib/rails/generators/mongoid_generator.rb
346
344
  - lib/rails/mongoid.rb
347
345
  - lib/support/ruby_version.rb
348
346
  - spec/app/models/account.rb
349
347
  - spec/app/models/acolyte.rb
350
348
  - spec/app/models/actor.rb
351
- - spec/app/models/actor_observer.rb
352
349
  - spec/app/models/actress.rb
353
350
  - spec/app/models/address.rb
354
351
  - spec/app/models/address_component.rb
@@ -363,6 +360,7 @@ files:
363
360
  - spec/app/models/article.rb
364
361
  - spec/app/models/artist.rb
365
362
  - spec/app/models/artwork.rb
363
+ - spec/app/models/audio.rb
366
364
  - spec/app/models/augmentation.rb
367
365
  - spec/app/models/author.rb
368
366
  - spec/app/models/band.rb
@@ -378,7 +376,6 @@ files:
378
376
  - spec/app/models/building_address.rb
379
377
  - spec/app/models/bus.rb
380
378
  - spec/app/models/business.rb
381
- - spec/app/models/callback_recorder.rb
382
379
  - spec/app/models/callback_test.rb
383
380
  - spec/app/models/canvas.rb
384
381
  - spec/app/models/car.rb
@@ -403,12 +400,16 @@ files:
403
400
  - spec/app/models/dog.rb
404
401
  - spec/app/models/dokument.rb
405
402
  - spec/app/models/draft.rb
403
+ - spec/app/models/dragon.rb
406
404
  - spec/app/models/driver.rb
407
405
  - spec/app/models/drug.rb
406
+ - spec/app/models/dungeon.rb
407
+ - spec/app/models/edit.rb
408
408
  - spec/app/models/email.rb
409
409
  - spec/app/models/employer.rb
410
410
  - spec/app/models/entry.rb
411
411
  - spec/app/models/eraser.rb
412
+ - spec/app/models/even.rb
412
413
  - spec/app/models/event.rb
413
414
  - spec/app/models/exhibition.rb
414
415
  - spec/app/models/exhibitor.rb
@@ -443,12 +444,14 @@ files:
443
444
  - spec/app/models/manufacturer.rb
444
445
  - spec/app/models/meat.rb
445
446
  - spec/app/models/membership.rb
447
+ - spec/app/models/message.rb
446
448
  - spec/app/models/mixed_drink.rb
447
449
  - spec/app/models/movie.rb
448
450
  - spec/app/models/my_hash.rb
449
451
  - spec/app/models/name.rb
450
452
  - spec/app/models/node.rb
451
453
  - spec/app/models/note.rb
454
+ - spec/app/models/odd.rb
452
455
  - spec/app/models/ordered_post.rb
453
456
  - spec/app/models/ordered_preference.rb
454
457
  - spec/app/models/oscar.rb
@@ -459,8 +462,6 @@ files:
459
462
  - spec/app/models/page.rb
460
463
  - spec/app/models/page_question.rb
461
464
  - spec/app/models/palette.rb
462
- - spec/app/models/paranoid_phone.rb
463
- - spec/app/models/paranoid_post.rb
464
465
  - spec/app/models/parent.rb
465
466
  - spec/app/models/parent_doc.rb
466
467
  - spec/app/models/passport.rb
@@ -471,7 +472,6 @@ files:
471
472
  - spec/app/models/pet.rb
472
473
  - spec/app/models/pet_owner.rb
473
474
  - spec/app/models/phone.rb
474
- - spec/app/models/phone_observer.rb
475
475
  - spec/app/models/pizza.rb
476
476
  - spec/app/models/player.rb
477
477
  - spec/app/models/post.rb
@@ -504,6 +504,7 @@ files:
504
504
  - spec/app/models/short_quiz.rb
505
505
  - spec/app/models/slave.rb
506
506
  - spec/app/models/song.rb
507
+ - spec/app/models/sound.rb
507
508
  - spec/app/models/square.rb
508
509
  - spec/app/models/strategy.rb
509
510
  - spec/app/models/sub_item.rb
@@ -535,19 +536,18 @@ files:
535
536
  - spec/app/models/word_origin.rb
536
537
  - spec/app/models/writer.rb
537
538
  - spec/config/mongoid.yml
538
- - spec/mongoid/#atomic_spec.rb#
539
+ - spec/helpers.rb
539
540
  - spec/mongoid/atomic/modifiers_spec.rb
540
541
  - spec/mongoid/atomic/paths/embedded/many_spec.rb
541
542
  - spec/mongoid/atomic/paths/embedded/one_spec.rb
542
543
  - spec/mongoid/atomic/paths/root_spec.rb
543
544
  - spec/mongoid/atomic/paths_spec.rb
544
- - spec/mongoid/atomic/positionable_spec.rb
545
545
  - spec/mongoid/atomic_spec.rb
546
- - spec/mongoid/attributes/processing_spec.rb
546
+ - spec/mongoid/attributes/nested_spec.rb
547
547
  - spec/mongoid/attributes/readonly_spec.rb
548
548
  - spec/mongoid/attributes_spec.rb
549
- - spec/mongoid/callbacks_spec.rb
550
- - spec/mongoid/components_spec.rb
549
+ - spec/mongoid/changeable_spec.rb
550
+ - spec/mongoid/composable_spec.rb
551
551
  - spec/mongoid/config/environment_spec.rb
552
552
  - spec/mongoid/config/options_spec.rb
553
553
  - spec/mongoid/config_spec.rb
@@ -559,20 +559,21 @@ files:
559
559
  - spec/mongoid/contextual/map_reduce_spec.rb
560
560
  - spec/mongoid/contextual/memory_spec.rb
561
561
  - spec/mongoid/contextual/mongo_spec.rb
562
+ - spec/mongoid/contextual/none_spec.rb
563
+ - spec/mongoid/contextual/text_search_spec.rb
562
564
  - spec/mongoid/copyable_spec.rb
565
+ - spec/mongoid/criteria/findable_spec.rb
566
+ - spec/mongoid/criteria/inspectable_spec.rb
567
+ - spec/mongoid/criteria/marshalable_spec.rb
568
+ - spec/mongoid/criteria/modifiable_spec.rb
569
+ - spec/mongoid/criteria/scopable_spec.rb
563
570
  - spec/mongoid/criteria_spec.rb
564
- - spec/mongoid/criterion/destructive_spec.rb
565
- - spec/mongoid/criterion/inspection_spec.rb
566
- - spec/mongoid/criterion/marshalable_spec.rb
567
- - spec/mongoid/criterion/modifiable_spec.rb
568
- - spec/mongoid/criterion/modification_spec.rb
569
- - spec/mongoid/criterion/scoping_spec.rb
570
- - spec/mongoid/dirty_spec.rb
571
571
  - spec/mongoid/document_spec.rb
572
572
  - spec/mongoid/equality_spec.rb
573
573
  - spec/mongoid/errors/ambiguous_relationship_spec.rb
574
574
  - spec/mongoid/errors/callback_spec.rb
575
575
  - spec/mongoid/errors/delete_restriction_spec.rb
576
+ - spec/mongoid/errors/document_not_destroyed_spec.rb
576
577
  - spec/mongoid/errors/document_not_found_spec.rb
577
578
  - spec/mongoid/errors/eager_load_spec.rb
578
579
  - spec/mongoid/errors/invalid_collection_spec.rb
@@ -602,13 +603,13 @@ files:
602
603
  - spec/mongoid/errors/no_session_hosts_spec.rb
603
604
  - spec/mongoid/errors/no_sessions_config_spec.rb
604
605
  - spec/mongoid/errors/readonly_attribute_spec.rb
606
+ - spec/mongoid/errors/readonly_document_spec.rb
605
607
  - spec/mongoid/errors/scope_overwrite_spec.rb
606
608
  - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
607
609
  - spec/mongoid/errors/unknown_attribute_spec.rb
608
610
  - spec/mongoid/errors/unsaved_document_spec.rb
609
611
  - spec/mongoid/errors/unsupported_javascript_spec.rb
610
612
  - spec/mongoid/errors/validations_spec.rb
611
- - spec/mongoid/errors/versioning_not_on_root_spec.rb
612
613
  - spec/mongoid/extensions/array_spec.rb
613
614
  - spec/mongoid/extensions/big_decimal_spec.rb
614
615
  - spec/mongoid/extensions/binary_spec.rb
@@ -631,6 +632,7 @@ files:
631
632
  - spec/mongoid/extensions/time_spec.rb
632
633
  - spec/mongoid/extensions/time_with_zone_spec.rb
633
634
  - spec/mongoid/extensions/true_class_spec.rb
635
+ - spec/mongoid/extensions_spec.rb
634
636
  - spec/mongoid/factory_spec.rb
635
637
  - spec/mongoid/fields/foreign_key_spec.rb
636
638
  - spec/mongoid/fields/internal/foreign_keys/array_spec.rb
@@ -638,51 +640,44 @@ files:
638
640
  - spec/mongoid/fields/localized_spec.rb
639
641
  - spec/mongoid/fields/standard_spec.rb
640
642
  - spec/mongoid/fields_spec.rb
641
- - spec/mongoid/finders_spec.rb
642
- - spec/mongoid/hierarchy_spec.rb
643
- - spec/mongoid/identity_map_spec.rb
644
- - spec/mongoid/indexes_spec.rb
645
- - spec/mongoid/inspection_spec.rb
646
- - spec/mongoid/json_spec.rb
643
+ - spec/mongoid/findable_spec.rb
644
+ - spec/mongoid/indexable/specification_spec.rb
645
+ - spec/mongoid/indexable_spec.rb
646
+ - spec/mongoid/inspectable_spec.rb
647
+ - spec/mongoid/interceptable_spec.rb
648
+ - spec/mongoid/log_subscriber_spec.rb
647
649
  - spec/mongoid/loggable_spec.rb
648
- - spec/mongoid/matchers/all_spec.rb
649
- - spec/mongoid/matchers/and_spec.rb
650
- - spec/mongoid/matchers/default_spec.rb
651
- - spec/mongoid/matchers/exists_spec.rb
652
- - spec/mongoid/matchers/gt_spec.rb
653
- - spec/mongoid/matchers/gte_spec.rb
654
- - spec/mongoid/matchers/in_spec.rb
655
- - spec/mongoid/matchers/lt_spec.rb
656
- - spec/mongoid/matchers/lte_spec.rb
657
- - spec/mongoid/matchers/ne_spec.rb
658
- - spec/mongoid/matchers/nin_spec.rb
659
- - spec/mongoid/matchers/or_spec.rb
660
- - spec/mongoid/matchers/size_spec.rb
661
- - spec/mongoid/matchers_spec.rb
662
- - spec/mongoid/multi_parameter_attributes_spec.rb
663
- - spec/mongoid/nested_attributes_spec.rb
664
- - spec/mongoid/observer_spec.rb
665
- - spec/mongoid/paranoia_spec.rb
666
- - spec/mongoid/persistence/atomic/add_to_set_spec.rb
667
- - spec/mongoid/persistence/atomic/bit_spec.rb
668
- - spec/mongoid/persistence/atomic/inc_spec.rb
669
- - spec/mongoid/persistence/atomic/pop_spec.rb
670
- - spec/mongoid/persistence/atomic/pull_all_spec.rb
671
- - spec/mongoid/persistence/atomic/pull_spec.rb
672
- - spec/mongoid/persistence/atomic/push_all_spec.rb
673
- - spec/mongoid/persistence/atomic/push_spec.rb
674
- - spec/mongoid/persistence/atomic/rename_spec.rb
675
- - spec/mongoid/persistence/atomic/sets_spec.rb
676
- - spec/mongoid/persistence/atomic/unset_spec.rb
677
- - spec/mongoid/persistence/atomic_spec.rb
678
- - spec/mongoid/persistence/operations/embedded/insert_spec.rb
679
- - spec/mongoid/persistence/operations/embedded/remove_spec.rb
680
- - spec/mongoid/persistence/operations/insert_spec.rb
681
- - spec/mongoid/persistence/operations/remove_spec.rb
682
- - spec/mongoid/persistence/operations/update_spec.rb
683
- - spec/mongoid/persistence/operations/upsert_spec.rb
684
- - spec/mongoid/persistence/operations_spec.rb
685
- - spec/mongoid/persistence_spec.rb
650
+ - spec/mongoid/matchable/all_spec.rb
651
+ - spec/mongoid/matchable/and_spec.rb
652
+ - spec/mongoid/matchable/default_spec.rb
653
+ - spec/mongoid/matchable/exists_spec.rb
654
+ - spec/mongoid/matchable/gt_spec.rb
655
+ - spec/mongoid/matchable/gte_spec.rb
656
+ - spec/mongoid/matchable/in_spec.rb
657
+ - spec/mongoid/matchable/lt_spec.rb
658
+ - spec/mongoid/matchable/lte_spec.rb
659
+ - spec/mongoid/matchable/ne_spec.rb
660
+ - spec/mongoid/matchable/nin_spec.rb
661
+ - spec/mongoid/matchable/or_spec.rb
662
+ - spec/mongoid/matchable/size_spec.rb
663
+ - spec/mongoid/matchable_spec.rb
664
+ - spec/mongoid/persistable/creatable_spec.rb
665
+ - spec/mongoid/persistable/deletable_spec.rb
666
+ - spec/mongoid/persistable/destroyable_spec.rb
667
+ - spec/mongoid/persistable/incrementable_spec.rb
668
+ - spec/mongoid/persistable/logical_spec.rb
669
+ - spec/mongoid/persistable/poppable_spec.rb
670
+ - spec/mongoid/persistable/pullable_spec.rb
671
+ - spec/mongoid/persistable/pushable_spec.rb
672
+ - spec/mongoid/persistable/renamable_spec.rb
673
+ - spec/mongoid/persistable/savable_spec.rb
674
+ - spec/mongoid/persistable/settable_spec.rb
675
+ - spec/mongoid/persistable/unsettable_spec.rb
676
+ - spec/mongoid/persistable/updatable_spec.rb
677
+ - spec/mongoid/persistable/upsertable_spec.rb
678
+ - spec/mongoid/persistable_spec.rb
679
+ - spec/mongoid/positional_spec.rb
680
+ - spec/mongoid/query_cache_spec.rb
686
681
  - spec/mongoid/railties/document_spec.rb
687
682
  - spec/mongoid/relations/accessors_spec.rb
688
683
  - spec/mongoid/relations/auto_save_spec.rb
@@ -712,6 +707,11 @@ files:
712
707
  - spec/mongoid/relations/conversions_spec.rb
713
708
  - spec/mongoid/relations/counter_cache_spec.rb
714
709
  - spec/mongoid/relations/cyclic_spec.rb
710
+ - spec/mongoid/relations/eager/belongs_to_spec.rb
711
+ - spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb
712
+ - spec/mongoid/relations/eager/has_many_spec.rb
713
+ - spec/mongoid/relations/eager/has_one_spec.rb
714
+ - spec/mongoid/relations/eager_spec.rb
715
715
  - spec/mongoid/relations/embedded/dirty_spec.rb
716
716
  - spec/mongoid/relations/embedded/in_spec.rb
717
717
  - spec/mongoid/relations/embedded/many_spec.rb
@@ -728,15 +728,20 @@ files:
728
728
  - spec/mongoid/relations/reflections_spec.rb
729
729
  - spec/mongoid/relations/synchronization_spec.rb
730
730
  - spec/mongoid/relations/targets/enumerable_spec.rb
731
+ - spec/mongoid/relations/touchable_spec.rb
731
732
  - spec/mongoid/relations_spec.rb
732
- - spec/mongoid/reloading_spec.rb
733
- - spec/mongoid/scoping_spec.rb
734
- - spec/mongoid/serialization_spec.rb
733
+ - spec/mongoid/reloadable_spec.rb
734
+ - spec/mongoid/scopable_spec.rb
735
+ - spec/mongoid/selectable_spec.rb
736
+ - spec/mongoid/serializable_spec.rb
735
737
  - spec/mongoid/sessions/factory_spec.rb
736
738
  - spec/mongoid/sessions/mongo_uri_spec.rb
739
+ - spec/mongoid/sessions/options_spec.rb
737
740
  - spec/mongoid/sessions_spec.rb
738
- - spec/mongoid/sharding_spec.rb
739
- - spec/mongoid/state_spec.rb
741
+ - spec/mongoid/shardable_spec.rb
742
+ - spec/mongoid/stateful_spec.rb
743
+ - spec/mongoid/tasks/database_rake_spec.rb
744
+ - spec/mongoid/tasks/database_spec.rb
740
745
  - spec/mongoid/threaded_spec.rb
741
746
  - spec/mongoid/timestamps/created/short_spec.rb
742
747
  - spec/mongoid/timestamps/created_spec.rb
@@ -744,17 +749,15 @@ files:
744
749
  - spec/mongoid/timestamps/updated/short_spec.rb
745
750
  - spec/mongoid/timestamps/updated_spec.rb
746
751
  - spec/mongoid/timestamps_spec.rb
747
- - spec/mongoid/unit_of_work_spec.rb
748
- - spec/mongoid/validations/associated_spec.rb
749
- - spec/mongoid/validations/format_spec.rb
750
- - spec/mongoid/validations/length_spec.rb
751
- - spec/mongoid/validations/numericality_spec.rb
752
- - spec/mongoid/validations/presence_spec.rb
753
- - spec/mongoid/validations/uniqueness_spec.rb
754
- - spec/mongoid/validations_spec.rb
755
- - spec/mongoid/versioning_spec.rb
752
+ - spec/mongoid/traversable_spec.rb
753
+ - spec/mongoid/validatable/associated_spec.rb
754
+ - spec/mongoid/validatable/format_spec.rb
755
+ - spec/mongoid/validatable/length_spec.rb
756
+ - spec/mongoid/validatable/numericality_spec.rb
757
+ - spec/mongoid/validatable/presence_spec.rb
758
+ - spec/mongoid/validatable/uniqueness_spec.rb
759
+ - spec/mongoid/validatable_spec.rb
756
760
  - spec/mongoid_spec.rb
757
- - spec/rack/mongoid/middleware/identity_map_spec.rb
758
761
  - spec/rails/mongoid_spec.rb
759
762
  - spec/spec_helper.rb
760
763
  homepage: http://mongoid.org
@@ -777,7 +780,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
777
780
  version: 1.3.6
778
781
  requirements: []
779
782
  rubyforge_project: mongoid
780
- rubygems_version: 2.4.5
783
+ rubygems_version: 2.2.2
781
784
  signing_key:
782
785
  specification_version: 4
783
786
  summary: Elegant Persistance in Ruby for MongoDB.
@@ -785,7 +788,6 @@ test_files:
785
788
  - spec/app/models/account.rb
786
789
  - spec/app/models/acolyte.rb
787
790
  - spec/app/models/actor.rb
788
- - spec/app/models/actor_observer.rb
789
791
  - spec/app/models/actress.rb
790
792
  - spec/app/models/address.rb
791
793
  - spec/app/models/address_component.rb
@@ -800,6 +802,7 @@ test_files:
800
802
  - spec/app/models/article.rb
801
803
  - spec/app/models/artist.rb
802
804
  - spec/app/models/artwork.rb
805
+ - spec/app/models/audio.rb
803
806
  - spec/app/models/augmentation.rb
804
807
  - spec/app/models/author.rb
805
808
  - spec/app/models/band.rb
@@ -815,7 +818,6 @@ test_files:
815
818
  - spec/app/models/building_address.rb
816
819
  - spec/app/models/bus.rb
817
820
  - spec/app/models/business.rb
818
- - spec/app/models/callback_recorder.rb
819
821
  - spec/app/models/callback_test.rb
820
822
  - spec/app/models/canvas.rb
821
823
  - spec/app/models/car.rb
@@ -840,12 +842,16 @@ test_files:
840
842
  - spec/app/models/dog.rb
841
843
  - spec/app/models/dokument.rb
842
844
  - spec/app/models/draft.rb
845
+ - spec/app/models/dragon.rb
843
846
  - spec/app/models/driver.rb
844
847
  - spec/app/models/drug.rb
848
+ - spec/app/models/dungeon.rb
849
+ - spec/app/models/edit.rb
845
850
  - spec/app/models/email.rb
846
851
  - spec/app/models/employer.rb
847
852
  - spec/app/models/entry.rb
848
853
  - spec/app/models/eraser.rb
854
+ - spec/app/models/even.rb
849
855
  - spec/app/models/event.rb
850
856
  - spec/app/models/exhibition.rb
851
857
  - spec/app/models/exhibitor.rb
@@ -880,12 +886,14 @@ test_files:
880
886
  - spec/app/models/manufacturer.rb
881
887
  - spec/app/models/meat.rb
882
888
  - spec/app/models/membership.rb
889
+ - spec/app/models/message.rb
883
890
  - spec/app/models/mixed_drink.rb
884
891
  - spec/app/models/movie.rb
885
892
  - spec/app/models/my_hash.rb
886
893
  - spec/app/models/name.rb
887
894
  - spec/app/models/node.rb
888
895
  - spec/app/models/note.rb
896
+ - spec/app/models/odd.rb
889
897
  - spec/app/models/ordered_post.rb
890
898
  - spec/app/models/ordered_preference.rb
891
899
  - spec/app/models/oscar.rb
@@ -896,8 +904,6 @@ test_files:
896
904
  - spec/app/models/page.rb
897
905
  - spec/app/models/page_question.rb
898
906
  - spec/app/models/palette.rb
899
- - spec/app/models/paranoid_phone.rb
900
- - spec/app/models/paranoid_post.rb
901
907
  - spec/app/models/parent.rb
902
908
  - spec/app/models/parent_doc.rb
903
909
  - spec/app/models/passport.rb
@@ -908,7 +914,6 @@ test_files:
908
914
  - spec/app/models/pet.rb
909
915
  - spec/app/models/pet_owner.rb
910
916
  - spec/app/models/phone.rb
911
- - spec/app/models/phone_observer.rb
912
917
  - spec/app/models/pizza.rb
913
918
  - spec/app/models/player.rb
914
919
  - spec/app/models/post.rb
@@ -941,6 +946,7 @@ test_files:
941
946
  - spec/app/models/short_quiz.rb
942
947
  - spec/app/models/slave.rb
943
948
  - spec/app/models/song.rb
949
+ - spec/app/models/sound.rb
944
950
  - spec/app/models/square.rb
945
951
  - spec/app/models/strategy.rb
946
952
  - spec/app/models/sub_item.rb
@@ -972,19 +978,18 @@ test_files:
972
978
  - spec/app/models/word_origin.rb
973
979
  - spec/app/models/writer.rb
974
980
  - spec/config/mongoid.yml
975
- - spec/mongoid/#atomic_spec.rb#
981
+ - spec/helpers.rb
976
982
  - spec/mongoid/atomic/modifiers_spec.rb
977
983
  - spec/mongoid/atomic/paths/embedded/many_spec.rb
978
984
  - spec/mongoid/atomic/paths/embedded/one_spec.rb
979
985
  - spec/mongoid/atomic/paths/root_spec.rb
980
986
  - spec/mongoid/atomic/paths_spec.rb
981
- - spec/mongoid/atomic/positionable_spec.rb
982
987
  - spec/mongoid/atomic_spec.rb
983
- - spec/mongoid/attributes/processing_spec.rb
988
+ - spec/mongoid/attributes/nested_spec.rb
984
989
  - spec/mongoid/attributes/readonly_spec.rb
985
990
  - spec/mongoid/attributes_spec.rb
986
- - spec/mongoid/callbacks_spec.rb
987
- - spec/mongoid/components_spec.rb
991
+ - spec/mongoid/changeable_spec.rb
992
+ - spec/mongoid/composable_spec.rb
988
993
  - spec/mongoid/config/environment_spec.rb
989
994
  - spec/mongoid/config/options_spec.rb
990
995
  - spec/mongoid/config_spec.rb
@@ -996,20 +1001,21 @@ test_files:
996
1001
  - spec/mongoid/contextual/map_reduce_spec.rb
997
1002
  - spec/mongoid/contextual/memory_spec.rb
998
1003
  - spec/mongoid/contextual/mongo_spec.rb
1004
+ - spec/mongoid/contextual/none_spec.rb
1005
+ - spec/mongoid/contextual/text_search_spec.rb
999
1006
  - spec/mongoid/copyable_spec.rb
1007
+ - spec/mongoid/criteria/findable_spec.rb
1008
+ - spec/mongoid/criteria/inspectable_spec.rb
1009
+ - spec/mongoid/criteria/marshalable_spec.rb
1010
+ - spec/mongoid/criteria/modifiable_spec.rb
1011
+ - spec/mongoid/criteria/scopable_spec.rb
1000
1012
  - spec/mongoid/criteria_spec.rb
1001
- - spec/mongoid/criterion/destructive_spec.rb
1002
- - spec/mongoid/criterion/inspection_spec.rb
1003
- - spec/mongoid/criterion/marshalable_spec.rb
1004
- - spec/mongoid/criterion/modifiable_spec.rb
1005
- - spec/mongoid/criterion/modification_spec.rb
1006
- - spec/mongoid/criterion/scoping_spec.rb
1007
- - spec/mongoid/dirty_spec.rb
1008
1013
  - spec/mongoid/document_spec.rb
1009
1014
  - spec/mongoid/equality_spec.rb
1010
1015
  - spec/mongoid/errors/ambiguous_relationship_spec.rb
1011
1016
  - spec/mongoid/errors/callback_spec.rb
1012
1017
  - spec/mongoid/errors/delete_restriction_spec.rb
1018
+ - spec/mongoid/errors/document_not_destroyed_spec.rb
1013
1019
  - spec/mongoid/errors/document_not_found_spec.rb
1014
1020
  - spec/mongoid/errors/eager_load_spec.rb
1015
1021
  - spec/mongoid/errors/invalid_collection_spec.rb
@@ -1039,13 +1045,13 @@ test_files:
1039
1045
  - spec/mongoid/errors/no_session_hosts_spec.rb
1040
1046
  - spec/mongoid/errors/no_sessions_config_spec.rb
1041
1047
  - spec/mongoid/errors/readonly_attribute_spec.rb
1048
+ - spec/mongoid/errors/readonly_document_spec.rb
1042
1049
  - spec/mongoid/errors/scope_overwrite_spec.rb
1043
1050
  - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
1044
1051
  - spec/mongoid/errors/unknown_attribute_spec.rb
1045
1052
  - spec/mongoid/errors/unsaved_document_spec.rb
1046
1053
  - spec/mongoid/errors/unsupported_javascript_spec.rb
1047
1054
  - spec/mongoid/errors/validations_spec.rb
1048
- - spec/mongoid/errors/versioning_not_on_root_spec.rb
1049
1055
  - spec/mongoid/extensions/array_spec.rb
1050
1056
  - spec/mongoid/extensions/big_decimal_spec.rb
1051
1057
  - spec/mongoid/extensions/binary_spec.rb
@@ -1068,6 +1074,7 @@ test_files:
1068
1074
  - spec/mongoid/extensions/time_spec.rb
1069
1075
  - spec/mongoid/extensions/time_with_zone_spec.rb
1070
1076
  - spec/mongoid/extensions/true_class_spec.rb
1077
+ - spec/mongoid/extensions_spec.rb
1071
1078
  - spec/mongoid/factory_spec.rb
1072
1079
  - spec/mongoid/fields/foreign_key_spec.rb
1073
1080
  - spec/mongoid/fields/internal/foreign_keys/array_spec.rb
@@ -1075,51 +1082,44 @@ test_files:
1075
1082
  - spec/mongoid/fields/localized_spec.rb
1076
1083
  - spec/mongoid/fields/standard_spec.rb
1077
1084
  - spec/mongoid/fields_spec.rb
1078
- - spec/mongoid/finders_spec.rb
1079
- - spec/mongoid/hierarchy_spec.rb
1080
- - spec/mongoid/identity_map_spec.rb
1081
- - spec/mongoid/indexes_spec.rb
1082
- - spec/mongoid/inspection_spec.rb
1083
- - spec/mongoid/json_spec.rb
1085
+ - spec/mongoid/findable_spec.rb
1086
+ - spec/mongoid/indexable/specification_spec.rb
1087
+ - spec/mongoid/indexable_spec.rb
1088
+ - spec/mongoid/inspectable_spec.rb
1089
+ - spec/mongoid/interceptable_spec.rb
1090
+ - spec/mongoid/log_subscriber_spec.rb
1084
1091
  - spec/mongoid/loggable_spec.rb
1085
- - spec/mongoid/matchers/all_spec.rb
1086
- - spec/mongoid/matchers/and_spec.rb
1087
- - spec/mongoid/matchers/default_spec.rb
1088
- - spec/mongoid/matchers/exists_spec.rb
1089
- - spec/mongoid/matchers/gt_spec.rb
1090
- - spec/mongoid/matchers/gte_spec.rb
1091
- - spec/mongoid/matchers/in_spec.rb
1092
- - spec/mongoid/matchers/lt_spec.rb
1093
- - spec/mongoid/matchers/lte_spec.rb
1094
- - spec/mongoid/matchers/ne_spec.rb
1095
- - spec/mongoid/matchers/nin_spec.rb
1096
- - spec/mongoid/matchers/or_spec.rb
1097
- - spec/mongoid/matchers/size_spec.rb
1098
- - spec/mongoid/matchers_spec.rb
1099
- - spec/mongoid/multi_parameter_attributes_spec.rb
1100
- - spec/mongoid/nested_attributes_spec.rb
1101
- - spec/mongoid/observer_spec.rb
1102
- - spec/mongoid/paranoia_spec.rb
1103
- - spec/mongoid/persistence/atomic/add_to_set_spec.rb
1104
- - spec/mongoid/persistence/atomic/bit_spec.rb
1105
- - spec/mongoid/persistence/atomic/inc_spec.rb
1106
- - spec/mongoid/persistence/atomic/pop_spec.rb
1107
- - spec/mongoid/persistence/atomic/pull_all_spec.rb
1108
- - spec/mongoid/persistence/atomic/pull_spec.rb
1109
- - spec/mongoid/persistence/atomic/push_all_spec.rb
1110
- - spec/mongoid/persistence/atomic/push_spec.rb
1111
- - spec/mongoid/persistence/atomic/rename_spec.rb
1112
- - spec/mongoid/persistence/atomic/sets_spec.rb
1113
- - spec/mongoid/persistence/atomic/unset_spec.rb
1114
- - spec/mongoid/persistence/atomic_spec.rb
1115
- - spec/mongoid/persistence/operations/embedded/insert_spec.rb
1116
- - spec/mongoid/persistence/operations/embedded/remove_spec.rb
1117
- - spec/mongoid/persistence/operations/insert_spec.rb
1118
- - spec/mongoid/persistence/operations/remove_spec.rb
1119
- - spec/mongoid/persistence/operations/update_spec.rb
1120
- - spec/mongoid/persistence/operations/upsert_spec.rb
1121
- - spec/mongoid/persistence/operations_spec.rb
1122
- - spec/mongoid/persistence_spec.rb
1092
+ - spec/mongoid/matchable/all_spec.rb
1093
+ - spec/mongoid/matchable/and_spec.rb
1094
+ - spec/mongoid/matchable/default_spec.rb
1095
+ - spec/mongoid/matchable/exists_spec.rb
1096
+ - spec/mongoid/matchable/gt_spec.rb
1097
+ - spec/mongoid/matchable/gte_spec.rb
1098
+ - spec/mongoid/matchable/in_spec.rb
1099
+ - spec/mongoid/matchable/lt_spec.rb
1100
+ - spec/mongoid/matchable/lte_spec.rb
1101
+ - spec/mongoid/matchable/ne_spec.rb
1102
+ - spec/mongoid/matchable/nin_spec.rb
1103
+ - spec/mongoid/matchable/or_spec.rb
1104
+ - spec/mongoid/matchable/size_spec.rb
1105
+ - spec/mongoid/matchable_spec.rb
1106
+ - spec/mongoid/persistable/creatable_spec.rb
1107
+ - spec/mongoid/persistable/deletable_spec.rb
1108
+ - spec/mongoid/persistable/destroyable_spec.rb
1109
+ - spec/mongoid/persistable/incrementable_spec.rb
1110
+ - spec/mongoid/persistable/logical_spec.rb
1111
+ - spec/mongoid/persistable/poppable_spec.rb
1112
+ - spec/mongoid/persistable/pullable_spec.rb
1113
+ - spec/mongoid/persistable/pushable_spec.rb
1114
+ - spec/mongoid/persistable/renamable_spec.rb
1115
+ - spec/mongoid/persistable/savable_spec.rb
1116
+ - spec/mongoid/persistable/settable_spec.rb
1117
+ - spec/mongoid/persistable/unsettable_spec.rb
1118
+ - spec/mongoid/persistable/updatable_spec.rb
1119
+ - spec/mongoid/persistable/upsertable_spec.rb
1120
+ - spec/mongoid/persistable_spec.rb
1121
+ - spec/mongoid/positional_spec.rb
1122
+ - spec/mongoid/query_cache_spec.rb
1123
1123
  - spec/mongoid/railties/document_spec.rb
1124
1124
  - spec/mongoid/relations/accessors_spec.rb
1125
1125
  - spec/mongoid/relations/auto_save_spec.rb
@@ -1149,6 +1149,11 @@ test_files:
1149
1149
  - spec/mongoid/relations/conversions_spec.rb
1150
1150
  - spec/mongoid/relations/counter_cache_spec.rb
1151
1151
  - spec/mongoid/relations/cyclic_spec.rb
1152
+ - spec/mongoid/relations/eager/belongs_to_spec.rb
1153
+ - spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb
1154
+ - spec/mongoid/relations/eager/has_many_spec.rb
1155
+ - spec/mongoid/relations/eager/has_one_spec.rb
1156
+ - spec/mongoid/relations/eager_spec.rb
1152
1157
  - spec/mongoid/relations/embedded/dirty_spec.rb
1153
1158
  - spec/mongoid/relations/embedded/in_spec.rb
1154
1159
  - spec/mongoid/relations/embedded/many_spec.rb
@@ -1165,15 +1170,20 @@ test_files:
1165
1170
  - spec/mongoid/relations/reflections_spec.rb
1166
1171
  - spec/mongoid/relations/synchronization_spec.rb
1167
1172
  - spec/mongoid/relations/targets/enumerable_spec.rb
1173
+ - spec/mongoid/relations/touchable_spec.rb
1168
1174
  - spec/mongoid/relations_spec.rb
1169
- - spec/mongoid/reloading_spec.rb
1170
- - spec/mongoid/scoping_spec.rb
1171
- - spec/mongoid/serialization_spec.rb
1175
+ - spec/mongoid/reloadable_spec.rb
1176
+ - spec/mongoid/scopable_spec.rb
1177
+ - spec/mongoid/selectable_spec.rb
1178
+ - spec/mongoid/serializable_spec.rb
1172
1179
  - spec/mongoid/sessions/factory_spec.rb
1173
1180
  - spec/mongoid/sessions/mongo_uri_spec.rb
1181
+ - spec/mongoid/sessions/options_spec.rb
1174
1182
  - spec/mongoid/sessions_spec.rb
1175
- - spec/mongoid/sharding_spec.rb
1176
- - spec/mongoid/state_spec.rb
1183
+ - spec/mongoid/shardable_spec.rb
1184
+ - spec/mongoid/stateful_spec.rb
1185
+ - spec/mongoid/tasks/database_rake_spec.rb
1186
+ - spec/mongoid/tasks/database_spec.rb
1177
1187
  - spec/mongoid/threaded_spec.rb
1178
1188
  - spec/mongoid/timestamps/created/short_spec.rb
1179
1189
  - spec/mongoid/timestamps/created_spec.rb
@@ -1181,16 +1191,14 @@ test_files:
1181
1191
  - spec/mongoid/timestamps/updated/short_spec.rb
1182
1192
  - spec/mongoid/timestamps/updated_spec.rb
1183
1193
  - spec/mongoid/timestamps_spec.rb
1184
- - spec/mongoid/unit_of_work_spec.rb
1185
- - spec/mongoid/validations/associated_spec.rb
1186
- - spec/mongoid/validations/format_spec.rb
1187
- - spec/mongoid/validations/length_spec.rb
1188
- - spec/mongoid/validations/numericality_spec.rb
1189
- - spec/mongoid/validations/presence_spec.rb
1190
- - spec/mongoid/validations/uniqueness_spec.rb
1191
- - spec/mongoid/validations_spec.rb
1192
- - spec/mongoid/versioning_spec.rb
1194
+ - spec/mongoid/traversable_spec.rb
1195
+ - spec/mongoid/validatable/associated_spec.rb
1196
+ - spec/mongoid/validatable/format_spec.rb
1197
+ - spec/mongoid/validatable/length_spec.rb
1198
+ - spec/mongoid/validatable/numericality_spec.rb
1199
+ - spec/mongoid/validatable/presence_spec.rb
1200
+ - spec/mongoid/validatable/uniqueness_spec.rb
1201
+ - spec/mongoid/validatable_spec.rb
1193
1202
  - spec/mongoid_spec.rb
1194
- - spec/rack/mongoid/middleware/identity_map_spec.rb
1195
1203
  - spec/rails/mongoid_spec.rb
1196
1204
  - spec/spec_helper.rb