mongoid 2.8.1 → 3.0.0.rc

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 (351) hide show
  1. data/CHANGELOG.md +802 -58
  2. data/LICENSE +1 -1
  3. data/README.md +10 -11
  4. data/Rakefile +2 -8
  5. data/lib/config/locales/en.yml +441 -51
  6. data/lib/mongoid.rb +24 -39
  7. data/lib/mongoid/atomic.rb +16 -33
  8. data/lib/mongoid/atomic/modifiers.rb +2 -2
  9. data/lib/mongoid/atomic/paths/embedded.rb +4 -5
  10. data/lib/mongoid/atomic/paths/embedded/many.rb +6 -6
  11. data/lib/mongoid/atomic/paths/embedded/one.rb +5 -5
  12. data/lib/mongoid/atomic/paths/root.rb +4 -5
  13. data/lib/mongoid/attributes.rb +95 -32
  14. data/lib/mongoid/attributes/processing.rb +14 -10
  15. data/lib/mongoid/attributes/readonly.rb +56 -0
  16. data/lib/mongoid/callbacks.rb +90 -27
  17. data/lib/mongoid/collections/retry.rb +2 -3
  18. data/lib/mongoid/components.rb +11 -23
  19. data/lib/mongoid/config.rb +87 -233
  20. data/lib/mongoid/config/environment.rb +5 -6
  21. data/lib/mongoid/config/inflections.rb +6 -0
  22. data/lib/mongoid/config/options.rb +1 -1
  23. data/lib/mongoid/config/validators.rb +3 -0
  24. data/lib/mongoid/config/validators/option.rb +25 -0
  25. data/lib/mongoid/config/validators/session.rb +140 -0
  26. data/lib/mongoid/contextual.rb +50 -0
  27. data/lib/mongoid/contextual/aggregable/memory.rb +98 -0
  28. data/lib/mongoid/contextual/aggregable/mongo.rb +181 -0
  29. data/lib/mongoid/contextual/atomic.rb +179 -0
  30. data/lib/mongoid/contextual/command.rb +43 -0
  31. data/lib/mongoid/contextual/find_and_modify.rb +66 -0
  32. data/lib/mongoid/contextual/map_reduce.rb +273 -0
  33. data/lib/mongoid/contextual/memory.rb +383 -0
  34. data/lib/mongoid/contextual/mongo.rb +543 -0
  35. data/lib/mongoid/copyable.rb +3 -34
  36. data/lib/mongoid/criteria.rb +436 -250
  37. data/lib/mongoid/criterion/inspection.rb +14 -8
  38. data/lib/mongoid/criterion/scoping.rb +114 -44
  39. data/lib/mongoid/dirty.rb +152 -67
  40. data/lib/mongoid/document.rb +69 -50
  41. data/lib/mongoid/errors.rb +22 -1
  42. data/lib/mongoid/errors/ambiguous_relationship.rb +51 -0
  43. data/lib/mongoid/errors/callback.rb +5 -6
  44. data/lib/mongoid/errors/delete_restriction.rb +29 -0
  45. data/lib/mongoid/errors/document_not_found.rb +98 -17
  46. data/lib/mongoid/errors/eager_load.rb +3 -6
  47. data/lib/mongoid/errors/invalid_collection.rb +3 -3
  48. data/lib/mongoid/errors/invalid_config_option.rb +27 -0
  49. data/lib/mongoid/errors/invalid_database.rb +3 -3
  50. data/lib/mongoid/errors/invalid_field.rb +54 -8
  51. data/lib/mongoid/errors/invalid_field_option.rb +35 -0
  52. data/lib/mongoid/errors/invalid_find.rb +3 -3
  53. data/lib/mongoid/errors/invalid_index.rb +28 -0
  54. data/lib/mongoid/errors/invalid_options.rb +4 -4
  55. data/lib/mongoid/errors/invalid_scope.rb +24 -0
  56. data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +38 -0
  57. data/lib/mongoid/errors/invalid_storage_options.rb +27 -0
  58. data/lib/mongoid/errors/invalid_time.rb +3 -6
  59. data/lib/mongoid/errors/inverse_not_found.rb +29 -0
  60. data/lib/mongoid/errors/mixed_relations.rb +4 -9
  61. data/lib/mongoid/errors/mixed_session_configuration.rb +28 -0
  62. data/lib/mongoid/errors/mongoid_error.rb +54 -3
  63. data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +28 -0
  64. data/lib/mongoid/errors/no_default_session.rb +23 -0
  65. data/lib/mongoid/errors/no_environment.rb +3 -3
  66. data/lib/mongoid/errors/no_map_reduce_output.rb +24 -0
  67. data/lib/mongoid/errors/no_parent.rb +24 -0
  68. data/lib/mongoid/errors/no_session_config.rb +22 -0
  69. data/lib/mongoid/errors/no_session_database.rb +27 -0
  70. data/lib/mongoid/errors/no_session_hosts.rb +27 -0
  71. data/lib/mongoid/errors/no_sessions_config.rb +20 -0
  72. data/lib/mongoid/errors/readonly_attribute.rb +25 -0
  73. data/lib/mongoid/errors/scope_overwrite.rb +4 -4
  74. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +4 -4
  75. data/lib/mongoid/errors/unknown_attribute.rb +25 -0
  76. data/lib/mongoid/errors/unsaved_document.rb +4 -8
  77. data/lib/mongoid/errors/unsupported_javascript.rb +27 -0
  78. data/lib/mongoid/errors/unsupported_version.rb +4 -4
  79. data/lib/mongoid/errors/validations.rb +7 -6
  80. data/lib/mongoid/errors/versioning_not_on_root.rb +23 -0
  81. data/lib/mongoid/extensions.rb +28 -76
  82. data/lib/mongoid/extensions/array.rb +127 -0
  83. data/lib/mongoid/extensions/big_decimal.rb +42 -0
  84. data/lib/mongoid/extensions/boolean.rb +24 -0
  85. data/lib/mongoid/extensions/date.rb +70 -0
  86. data/lib/mongoid/extensions/date_time.rb +68 -0
  87. data/lib/mongoid/extensions/false_class.rb +26 -0
  88. data/lib/mongoid/extensions/float.rb +44 -0
  89. data/lib/mongoid/extensions/hash.rb +91 -0
  90. data/lib/mongoid/extensions/integer.rb +54 -0
  91. data/lib/mongoid/extensions/module.rb +28 -0
  92. data/lib/mongoid/extensions/nil_class.rb +21 -0
  93. data/lib/mongoid/extensions/object.rb +188 -0
  94. data/lib/mongoid/extensions/object_id.rb +53 -0
  95. data/lib/mongoid/extensions/range.rb +55 -0
  96. data/lib/mongoid/extensions/regexp.rb +27 -0
  97. data/lib/mongoid/extensions/set.rb +55 -0
  98. data/lib/mongoid/extensions/string.rb +155 -0
  99. data/lib/mongoid/extensions/symbol.rb +54 -0
  100. data/lib/mongoid/extensions/time.rb +78 -0
  101. data/lib/mongoid/extensions/time_with_zone.rb +55 -0
  102. data/lib/mongoid/extensions/true_class.rb +26 -0
  103. data/lib/mongoid/factory.rb +1 -1
  104. data/lib/mongoid/fields.rb +129 -194
  105. data/lib/mongoid/fields/foreign_key.rb +134 -0
  106. data/lib/mongoid/fields/localized.rb +73 -0
  107. data/lib/mongoid/fields/standard.rb +268 -0
  108. data/lib/mongoid/fields/validators.rb +2 -0
  109. data/lib/mongoid/fields/validators/macro.rb +83 -0
  110. data/lib/mongoid/finders.rb +42 -43
  111. data/lib/mongoid/hierarchy.rb +25 -14
  112. data/lib/mongoid/identity_map.rb +31 -19
  113. data/lib/mongoid/indexes.rb +66 -15
  114. data/lib/mongoid/indexes/validators/options.rb +80 -0
  115. data/lib/mongoid/inspection.rb +1 -1
  116. data/lib/mongoid/javascript.rb +1 -1
  117. data/lib/mongoid/json.rb +2 -2
  118. data/lib/mongoid/loggable.rb +69 -0
  119. data/lib/mongoid/matchers.rb +1 -1
  120. data/lib/mongoid/matchers/all.rb +7 -8
  121. data/lib/mongoid/matchers/and.rb +3 -3
  122. data/lib/mongoid/matchers/default.rb +6 -4
  123. data/lib/mongoid/matchers/exists.rb +2 -2
  124. data/lib/mongoid/matchers/gt.rb +2 -2
  125. data/lib/mongoid/matchers/gte.rb +2 -2
  126. data/lib/mongoid/matchers/in.rb +3 -7
  127. data/lib/mongoid/matchers/lt.rb +2 -2
  128. data/lib/mongoid/matchers/lte.rb +2 -2
  129. data/lib/mongoid/matchers/ne.rb +2 -2
  130. data/lib/mongoid/matchers/nin.rb +2 -2
  131. data/lib/mongoid/matchers/or.rb +2 -2
  132. data/lib/mongoid/matchers/size.rb +2 -2
  133. data/lib/mongoid/matchers/strategies.rb +3 -3
  134. data/lib/mongoid/multi_parameter_attributes.rb +8 -10
  135. data/lib/mongoid/nested_attributes.rb +17 -9
  136. data/lib/mongoid/observer.rb +1 -2
  137. data/lib/mongoid/paranoia.rb +13 -18
  138. data/lib/mongoid/persistence.rb +43 -39
  139. data/lib/mongoid/persistence/atomic.rb +2 -2
  140. data/lib/mongoid/persistence/atomic/add_to_set.rb +5 -9
  141. data/lib/mongoid/persistence/atomic/bit.rb +5 -7
  142. data/lib/mongoid/persistence/atomic/inc.rb +5 -7
  143. data/lib/mongoid/persistence/atomic/operation.rb +45 -6
  144. data/lib/mongoid/persistence/atomic/pop.rb +5 -7
  145. data/lib/mongoid/persistence/atomic/pull.rb +5 -7
  146. data/lib/mongoid/persistence/atomic/pull_all.rb +5 -7
  147. data/lib/mongoid/persistence/atomic/push.rb +4 -10
  148. data/lib/mongoid/persistence/atomic/push_all.rb +4 -10
  149. data/lib/mongoid/persistence/atomic/rename.rb +6 -7
  150. data/lib/mongoid/persistence/atomic/sets.rb +5 -7
  151. data/lib/mongoid/persistence/atomic/unset.rb +4 -5
  152. data/lib/mongoid/persistence/deletion.rb +2 -2
  153. data/lib/mongoid/persistence/insertion.rb +10 -16
  154. data/lib/mongoid/persistence/modification.rb +5 -9
  155. data/lib/mongoid/persistence/operations.rb +6 -19
  156. data/lib/mongoid/persistence/operations/embedded/insert.rb +7 -6
  157. data/lib/mongoid/persistence/operations/embedded/remove.rb +5 -5
  158. data/lib/mongoid/persistence/operations/insert.rb +4 -4
  159. data/lib/mongoid/persistence/operations/remove.rb +4 -4
  160. data/lib/mongoid/persistence/operations/update.rb +5 -5
  161. data/lib/mongoid/railtie.rb +26 -11
  162. data/lib/mongoid/railties/database.rake +22 -108
  163. data/lib/mongoid/relations.rb +4 -6
  164. data/lib/mongoid/relations/accessors.rb +119 -19
  165. data/lib/mongoid/relations/auto_save.rb +59 -5
  166. data/lib/mongoid/relations/binding.rb +211 -2
  167. data/lib/mongoid/relations/bindings/embedded/in.rb +16 -22
  168. data/lib/mongoid/relations/bindings/embedded/many.rb +9 -50
  169. data/lib/mongoid/relations/bindings/embedded/one.rb +10 -16
  170. data/lib/mongoid/relations/bindings/referenced/in.rb +31 -57
  171. data/lib/mongoid/relations/bindings/referenced/many.rb +8 -20
  172. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +15 -19
  173. data/lib/mongoid/relations/bindings/referenced/one.rb +10 -24
  174. data/lib/mongoid/relations/builder.rb +3 -3
  175. data/lib/mongoid/relations/builders.rb +19 -16
  176. data/lib/mongoid/relations/builders/embedded/in.rb +5 -5
  177. data/lib/mongoid/relations/builders/embedded/many.rb +12 -12
  178. data/lib/mongoid/relations/builders/embedded/one.rb +6 -6
  179. data/lib/mongoid/relations/builders/nested_attributes/many.rb +8 -8
  180. data/lib/mongoid/relations/builders/nested_attributes/one.rb +4 -4
  181. data/lib/mongoid/relations/builders/referenced/in.rb +4 -4
  182. data/lib/mongoid/relations/builders/referenced/many.rb +5 -5
  183. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +7 -5
  184. data/lib/mongoid/relations/builders/referenced/one.rb +5 -5
  185. data/lib/mongoid/relations/cascading.rb +6 -4
  186. data/lib/mongoid/relations/cascading/delete.rb +3 -5
  187. data/lib/mongoid/relations/cascading/destroy.rb +3 -3
  188. data/lib/mongoid/relations/cascading/nullify.rb +3 -3
  189. data/lib/mongoid/relations/cascading/restrict.rb +37 -0
  190. data/lib/mongoid/relations/constraint.rb +4 -3
  191. data/lib/mongoid/relations/conversions.rb +5 -6
  192. data/lib/mongoid/relations/cyclic.rb +7 -7
  193. data/lib/mongoid/relations/embedded/batchable.rb +346 -0
  194. data/lib/mongoid/relations/embedded/in.rb +23 -12
  195. data/lib/mongoid/relations/embedded/many.rb +99 -161
  196. data/lib/mongoid/relations/embedded/one.rb +25 -14
  197. data/lib/mongoid/relations/macros.rb +105 -61
  198. data/lib/mongoid/relations/many.rb +93 -14
  199. data/lib/mongoid/relations/metadata.rb +200 -45
  200. data/lib/mongoid/relations/nested_builder.rb +3 -5
  201. data/lib/mongoid/relations/one.rb +2 -2
  202. data/lib/mongoid/relations/options.rb +2 -2
  203. data/lib/mongoid/relations/polymorphic.rb +9 -9
  204. data/lib/mongoid/relations/proxy.rb +60 -31
  205. data/lib/mongoid/relations/referenced/in.rb +40 -15
  206. data/lib/mongoid/relations/referenced/many.rb +117 -132
  207. data/lib/mongoid/relations/referenced/many_to_many.rb +101 -46
  208. data/lib/mongoid/relations/referenced/one.rb +34 -13
  209. data/lib/mongoid/relations/reflections.rb +3 -3
  210. data/lib/mongoid/relations/synchronization.rb +19 -23
  211. data/lib/mongoid/relations/targets/enumerable.rb +86 -57
  212. data/lib/mongoid/reloading.rb +12 -14
  213. data/lib/mongoid/scoping.rb +329 -0
  214. data/lib/mongoid/serialization.rb +8 -27
  215. data/lib/mongoid/sessions.rb +359 -0
  216. data/lib/mongoid/sessions/factory.rb +106 -0
  217. data/lib/mongoid/sessions/mongo_uri.rb +93 -0
  218. data/lib/mongoid/sessions/validators.rb +2 -0
  219. data/lib/mongoid/sessions/validators/storage.rb +49 -0
  220. data/lib/mongoid/sharding.rb +6 -6
  221. data/lib/mongoid/state.rb +6 -7
  222. data/lib/mongoid/threaded.rb +167 -59
  223. data/lib/mongoid/threaded/lifecycle.rb +21 -22
  224. data/lib/mongoid/threaded/sessions.rb +0 -0
  225. data/lib/mongoid/timestamps.rb +1 -1
  226. data/lib/mongoid/timestamps/created.rb +8 -4
  227. data/lib/mongoid/timestamps/timeless.rb +6 -4
  228. data/lib/mongoid/timestamps/updated.rb +3 -3
  229. data/lib/mongoid/unit_of_work.rb +61 -0
  230. data/lib/mongoid/validations.rb +27 -19
  231. data/lib/mongoid/validations/associated.rb +2 -2
  232. data/lib/mongoid/validations/format.rb +2 -2
  233. data/lib/mongoid/validations/presence.rb +31 -5
  234. data/lib/mongoid/validations/uniqueness.rb +9 -12
  235. data/lib/mongoid/version.rb +2 -2
  236. data/lib/mongoid/versioning.rb +25 -26
  237. data/lib/rack/mongoid/middleware/identity_map.rb +3 -3
  238. data/lib/rails/generators/mongoid/config/config_generator.rb +1 -1
  239. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +59 -19
  240. data/lib/rails/generators/mongoid/model/model_generator.rb +7 -7
  241. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +2 -2
  242. data/lib/rails/generators/mongoid/observer/observer_generator.rb +4 -4
  243. data/lib/rails/generators/mongoid_generator.rb +5 -5
  244. data/lib/rails/mongoid.rb +69 -25
  245. metadata +110 -137
  246. checksums.yaml +0 -7
  247. data/lib/config/locales/bg.yml +0 -61
  248. data/lib/config/locales/de.yml +0 -61
  249. data/lib/config/locales/en-GB.yml +0 -64
  250. data/lib/config/locales/es.yml +0 -59
  251. data/lib/config/locales/fr.yml +0 -62
  252. data/lib/config/locales/hi.yml +0 -53
  253. data/lib/config/locales/hu.yml +0 -64
  254. data/lib/config/locales/id.yml +0 -62
  255. data/lib/config/locales/it.yml +0 -59
  256. data/lib/config/locales/ja.yml +0 -57
  257. data/lib/config/locales/kr.yml +0 -54
  258. data/lib/config/locales/nl.yml +0 -61
  259. data/lib/config/locales/pl.yml +0 -59
  260. data/lib/config/locales/pt-BR.yml +0 -60
  261. data/lib/config/locales/pt.yml +0 -60
  262. data/lib/config/locales/ro.yml +0 -66
  263. data/lib/config/locales/ru.yml +0 -61
  264. data/lib/config/locales/sv.yml +0 -60
  265. data/lib/config/locales/vi.yml +0 -62
  266. data/lib/config/locales/zh-CN.yml +0 -53
  267. data/lib/mongoid/collection.rb +0 -157
  268. data/lib/mongoid/collections.rb +0 -120
  269. data/lib/mongoid/collections/master.rb +0 -45
  270. data/lib/mongoid/collections/operations.rb +0 -44
  271. data/lib/mongoid/config/database.rb +0 -181
  272. data/lib/mongoid/config/replset_database.rb +0 -80
  273. data/lib/mongoid/contexts.rb +0 -25
  274. data/lib/mongoid/contexts/enumerable.rb +0 -313
  275. data/lib/mongoid/contexts/enumerable/sort.rb +0 -43
  276. data/lib/mongoid/contexts/mongo.rb +0 -487
  277. data/lib/mongoid/criterion/builder.rb +0 -34
  278. data/lib/mongoid/criterion/complex.rb +0 -84
  279. data/lib/mongoid/criterion/creational.rb +0 -34
  280. data/lib/mongoid/criterion/exclusion.rb +0 -110
  281. data/lib/mongoid/criterion/inclusion.rb +0 -290
  282. data/lib/mongoid/criterion/optional.rb +0 -259
  283. data/lib/mongoid/criterion/selector.rb +0 -177
  284. data/lib/mongoid/cursor.rb +0 -88
  285. data/lib/mongoid/default_scope.rb +0 -36
  286. data/lib/mongoid/errors/invalid_type.rb +0 -25
  287. data/lib/mongoid/extensions/array/deep_copy.rb +0 -25
  288. data/lib/mongoid/extensions/array/deletion.rb +0 -29
  289. data/lib/mongoid/extensions/false_class/equality.rb +0 -26
  290. data/lib/mongoid/extensions/hash/criteria_helpers.rb +0 -47
  291. data/lib/mongoid/extensions/hash/deep_copy.rb +0 -25
  292. data/lib/mongoid/extensions/hash/scoping.rb +0 -25
  293. data/lib/mongoid/extensions/integer/checks.rb +0 -23
  294. data/lib/mongoid/extensions/nil/collectionization.rb +0 -23
  295. data/lib/mongoid/extensions/object/checks.rb +0 -29
  296. data/lib/mongoid/extensions/object/deep_copy.rb +0 -21
  297. data/lib/mongoid/extensions/object/reflections.rb +0 -48
  298. data/lib/mongoid/extensions/object/substitutable.rb +0 -15
  299. data/lib/mongoid/extensions/object/yoda.rb +0 -44
  300. data/lib/mongoid/extensions/object_id/conversions.rb +0 -60
  301. data/lib/mongoid/extensions/proc/scoping.rb +0 -25
  302. data/lib/mongoid/extensions/string/checks.rb +0 -36
  303. data/lib/mongoid/extensions/string/conversions.rb +0 -22
  304. data/lib/mongoid/extensions/string/inflections.rb +0 -118
  305. data/lib/mongoid/extensions/symbol/checks.rb +0 -23
  306. data/lib/mongoid/extensions/symbol/inflections.rb +0 -67
  307. data/lib/mongoid/extensions/true_class/equality.rb +0 -26
  308. data/lib/mongoid/extras.rb +0 -31
  309. data/lib/mongoid/fields/internal/array.rb +0 -77
  310. data/lib/mongoid/fields/internal/big_decimal.rb +0 -63
  311. data/lib/mongoid/fields/internal/bignum.rb +0 -10
  312. data/lib/mongoid/fields/internal/binary.rb +0 -11
  313. data/lib/mongoid/fields/internal/boolean.rb +0 -58
  314. data/lib/mongoid/fields/internal/date.rb +0 -51
  315. data/lib/mongoid/fields/internal/date_time.rb +0 -28
  316. data/lib/mongoid/fields/internal/false_class.rb +0 -10
  317. data/lib/mongoid/fields/internal/fixnum.rb +0 -10
  318. data/lib/mongoid/fields/internal/float.rb +0 -47
  319. data/lib/mongoid/fields/internal/foreign_keys/array.rb +0 -88
  320. data/lib/mongoid/fields/internal/foreign_keys/object.rb +0 -56
  321. data/lib/mongoid/fields/internal/hash.rb +0 -11
  322. data/lib/mongoid/fields/internal/integer.rb +0 -59
  323. data/lib/mongoid/fields/internal/localized.rb +0 -62
  324. data/lib/mongoid/fields/internal/nil_class.rb +0 -53
  325. data/lib/mongoid/fields/internal/object.rb +0 -11
  326. data/lib/mongoid/fields/internal/object_id.rb +0 -46
  327. data/lib/mongoid/fields/internal/range.rb +0 -61
  328. data/lib/mongoid/fields/internal/set.rb +0 -57
  329. data/lib/mongoid/fields/internal/string.rb +0 -42
  330. data/lib/mongoid/fields/internal/symbol.rb +0 -43
  331. data/lib/mongoid/fields/internal/time.rb +0 -23
  332. data/lib/mongoid/fields/internal/time_with_zone.rb +0 -23
  333. data/lib/mongoid/fields/internal/timekeeping.rb +0 -122
  334. data/lib/mongoid/fields/internal/true_class.rb +0 -10
  335. data/lib/mongoid/fields/mappings.rb +0 -42
  336. data/lib/mongoid/fields/serializable.rb +0 -270
  337. data/lib/mongoid/identity.rb +0 -92
  338. data/lib/mongoid/keys.rb +0 -144
  339. data/lib/mongoid/logger.rb +0 -45
  340. data/lib/mongoid/multi_database.rb +0 -36
  341. data/lib/mongoid/named_scope.rb +0 -166
  342. data/lib/mongoid/relations/embedded/atomic.rb +0 -89
  343. data/lib/mongoid/relations/embedded/atomic/operation.rb +0 -63
  344. data/lib/mongoid/relations/embedded/atomic/pull.rb +0 -65
  345. data/lib/mongoid/relations/embedded/atomic/push_all.rb +0 -59
  346. data/lib/mongoid/relations/embedded/atomic/set.rb +0 -61
  347. data/lib/mongoid/relations/embedded/atomic/unset.rb +0 -41
  348. data/lib/mongoid/relations/referenced/batch.rb +0 -73
  349. data/lib/mongoid/relations/referenced/batch/insert.rb +0 -57
  350. data/lib/mongoid/safety.rb +0 -105
  351. data/lib/mongoid/scope.rb +0 -31
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 3.0.0.rc
5
+ prerelease: 6
5
6
  platform: ruby
6
7
  authors:
7
8
  - Durran Jordan
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-09-12 00:00:00.000000000 Z
12
+ date: 2012-05-28 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activemodel
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: tzinfo
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,55 +38,63 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
40
45
  version: 0.3.22
41
46
  - !ruby/object:Gem::Dependency
42
- name: mongo
47
+ name: moped
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
47
- version: '1.9'
53
+ version: 1.0.0.rc
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
54
- version: '1.9'
61
+ version: 1.0.0.rc
55
62
  - !ruby/object:Gem::Dependency
56
- name: bson_ext
63
+ name: origin
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
61
- version: '1.9'
62
- type: :development
69
+ version: 1.0.0.rc
70
+ type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
68
- version: '1.9'
77
+ version: 1.0.0.rc
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: mocha
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '='
83
+ - - ~>
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0.11'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '='
91
+ - - ~>
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0.11'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: rspec
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ~>
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ~>
95
108
  - !ruby/object:Gem::Version
@@ -97,6 +110,7 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: guard-rspec
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
115
  - - ~>
102
116
  - !ruby/object:Gem::Version
@@ -104,24 +118,11 @@ dependencies:
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
123
  - - ~>
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0.7'
111
- - !ruby/object:Gem::Dependency
112
- name: rb-fsevent
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- version: 0.9.1
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ~>
123
- - !ruby/object:Gem::Version
124
- version: 0.9.1
125
126
  description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
126
127
  in Ruby.
127
128
  email:
@@ -130,27 +131,7 @@ executables: []
130
131
  extensions: []
131
132
  extra_rdoc_files: []
132
133
  files:
133
- - lib/config/locales/bg.yml
134
- - lib/config/locales/de.yml
135
- - lib/config/locales/en-GB.yml
136
134
  - lib/config/locales/en.yml
137
- - lib/config/locales/es.yml
138
- - lib/config/locales/fr.yml
139
- - lib/config/locales/hi.yml
140
- - lib/config/locales/hu.yml
141
- - lib/config/locales/id.yml
142
- - lib/config/locales/it.yml
143
- - lib/config/locales/ja.yml
144
- - lib/config/locales/kr.yml
145
- - lib/config/locales/nl.yml
146
- - lib/config/locales/pl.yml
147
- - lib/config/locales/pt-BR.yml
148
- - lib/config/locales/pt.yml
149
- - lib/config/locales/ro.yml
150
- - lib/config/locales/ru.yml
151
- - lib/config/locales/sv.yml
152
- - lib/config/locales/vi.yml
153
- - lib/config/locales/zh-CN.yml
154
135
  - lib/mongoid/atomic/modifiers.rb
155
136
  - lib/mongoid/atomic/paths/embedded/many.rb
156
137
  - lib/mongoid/atomic/paths/embedded/one.rb
@@ -159,121 +140,112 @@ files:
159
140
  - lib/mongoid/atomic/paths.rb
160
141
  - lib/mongoid/atomic.rb
161
142
  - lib/mongoid/attributes/processing.rb
143
+ - lib/mongoid/attributes/readonly.rb
162
144
  - lib/mongoid/attributes.rb
163
145
  - lib/mongoid/callbacks.rb
164
- - lib/mongoid/collection.rb
165
- - lib/mongoid/collections/master.rb
166
- - lib/mongoid/collections/operations.rb
167
146
  - lib/mongoid/collections/retry.rb
168
- - lib/mongoid/collections.rb
169
147
  - lib/mongoid/components.rb
170
- - lib/mongoid/config/database.rb
171
148
  - lib/mongoid/config/environment.rb
149
+ - lib/mongoid/config/inflections.rb
172
150
  - lib/mongoid/config/options.rb
173
- - lib/mongoid/config/replset_database.rb
151
+ - lib/mongoid/config/validators/option.rb
152
+ - lib/mongoid/config/validators/session.rb
153
+ - lib/mongoid/config/validators.rb
174
154
  - lib/mongoid/config.rb
175
- - lib/mongoid/contexts/enumerable/sort.rb
176
- - lib/mongoid/contexts/enumerable.rb
177
- - lib/mongoid/contexts/mongo.rb
178
- - lib/mongoid/contexts.rb
155
+ - lib/mongoid/contextual/aggregable/memory.rb
156
+ - lib/mongoid/contextual/aggregable/mongo.rb
157
+ - lib/mongoid/contextual/atomic.rb
158
+ - lib/mongoid/contextual/command.rb
159
+ - lib/mongoid/contextual/find_and_modify.rb
160
+ - lib/mongoid/contextual/map_reduce.rb
161
+ - lib/mongoid/contextual/memory.rb
162
+ - lib/mongoid/contextual/mongo.rb
163
+ - lib/mongoid/contextual.rb
179
164
  - lib/mongoid/copyable.rb
180
165
  - lib/mongoid/criteria.rb
181
- - lib/mongoid/criterion/builder.rb
182
- - lib/mongoid/criterion/complex.rb
183
- - lib/mongoid/criterion/creational.rb
184
- - lib/mongoid/criterion/exclusion.rb
185
- - lib/mongoid/criterion/inclusion.rb
186
166
  - lib/mongoid/criterion/inspection.rb
187
- - lib/mongoid/criterion/optional.rb
188
167
  - lib/mongoid/criterion/scoping.rb
189
- - lib/mongoid/criterion/selector.rb
190
- - lib/mongoid/cursor.rb
191
- - lib/mongoid/default_scope.rb
192
168
  - lib/mongoid/dirty.rb
193
169
  - lib/mongoid/document.rb
170
+ - lib/mongoid/errors/ambiguous_relationship.rb
194
171
  - lib/mongoid/errors/callback.rb
172
+ - lib/mongoid/errors/delete_restriction.rb
195
173
  - lib/mongoid/errors/document_not_found.rb
196
174
  - lib/mongoid/errors/eager_load.rb
197
175
  - lib/mongoid/errors/invalid_collection.rb
176
+ - lib/mongoid/errors/invalid_config_option.rb
198
177
  - lib/mongoid/errors/invalid_database.rb
199
178
  - lib/mongoid/errors/invalid_field.rb
179
+ - lib/mongoid/errors/invalid_field_option.rb
200
180
  - lib/mongoid/errors/invalid_find.rb
181
+ - lib/mongoid/errors/invalid_index.rb
201
182
  - lib/mongoid/errors/invalid_options.rb
183
+ - lib/mongoid/errors/invalid_scope.rb
184
+ - lib/mongoid/errors/invalid_set_polymorphic_relation.rb
185
+ - lib/mongoid/errors/invalid_storage_options.rb
202
186
  - lib/mongoid/errors/invalid_time.rb
203
- - lib/mongoid/errors/invalid_type.rb
187
+ - lib/mongoid/errors/inverse_not_found.rb
204
188
  - lib/mongoid/errors/mixed_relations.rb
189
+ - lib/mongoid/errors/mixed_session_configuration.rb
205
190
  - lib/mongoid/errors/mongoid_error.rb
191
+ - lib/mongoid/errors/nested_attributes_metadata_not_found.rb
192
+ - lib/mongoid/errors/no_default_session.rb
206
193
  - lib/mongoid/errors/no_environment.rb
194
+ - lib/mongoid/errors/no_map_reduce_output.rb
195
+ - lib/mongoid/errors/no_parent.rb
196
+ - lib/mongoid/errors/no_session_config.rb
197
+ - lib/mongoid/errors/no_session_database.rb
198
+ - lib/mongoid/errors/no_session_hosts.rb
199
+ - lib/mongoid/errors/no_sessions_config.rb
200
+ - lib/mongoid/errors/readonly_attribute.rb
207
201
  - lib/mongoid/errors/scope_overwrite.rb
208
202
  - lib/mongoid/errors/too_many_nested_attribute_records.rb
203
+ - lib/mongoid/errors/unknown_attribute.rb
209
204
  - lib/mongoid/errors/unsaved_document.rb
205
+ - lib/mongoid/errors/unsupported_javascript.rb
210
206
  - lib/mongoid/errors/unsupported_version.rb
211
207
  - lib/mongoid/errors/validations.rb
208
+ - lib/mongoid/errors/versioning_not_on_root.rb
212
209
  - lib/mongoid/errors.rb
213
- - lib/mongoid/extensions/array/deep_copy.rb
214
- - lib/mongoid/extensions/array/deletion.rb
215
- - lib/mongoid/extensions/false_class/equality.rb
216
- - lib/mongoid/extensions/hash/criteria_helpers.rb
217
- - lib/mongoid/extensions/hash/deep_copy.rb
218
- - lib/mongoid/extensions/hash/scoping.rb
219
- - lib/mongoid/extensions/integer/checks.rb
220
- - lib/mongoid/extensions/nil/collectionization.rb
221
- - lib/mongoid/extensions/object/checks.rb
222
- - lib/mongoid/extensions/object/deep_copy.rb
223
- - lib/mongoid/extensions/object/reflections.rb
224
- - lib/mongoid/extensions/object/substitutable.rb
225
- - lib/mongoid/extensions/object/yoda.rb
226
- - lib/mongoid/extensions/object_id/conversions.rb
227
- - lib/mongoid/extensions/proc/scoping.rb
228
- - lib/mongoid/extensions/string/checks.rb
229
- - lib/mongoid/extensions/string/conversions.rb
230
- - lib/mongoid/extensions/string/inflections.rb
231
- - lib/mongoid/extensions/symbol/checks.rb
232
- - lib/mongoid/extensions/symbol/inflections.rb
233
- - lib/mongoid/extensions/true_class/equality.rb
210
+ - lib/mongoid/extensions/array.rb
211
+ - lib/mongoid/extensions/big_decimal.rb
212
+ - lib/mongoid/extensions/boolean.rb
213
+ - lib/mongoid/extensions/date.rb
214
+ - lib/mongoid/extensions/date_time.rb
215
+ - lib/mongoid/extensions/false_class.rb
216
+ - lib/mongoid/extensions/float.rb
217
+ - lib/mongoid/extensions/hash.rb
218
+ - lib/mongoid/extensions/integer.rb
219
+ - lib/mongoid/extensions/module.rb
220
+ - lib/mongoid/extensions/nil_class.rb
221
+ - lib/mongoid/extensions/object.rb
222
+ - lib/mongoid/extensions/object_id.rb
223
+ - lib/mongoid/extensions/range.rb
224
+ - lib/mongoid/extensions/regexp.rb
225
+ - lib/mongoid/extensions/set.rb
226
+ - lib/mongoid/extensions/string.rb
227
+ - lib/mongoid/extensions/symbol.rb
228
+ - lib/mongoid/extensions/time.rb
229
+ - lib/mongoid/extensions/time_with_zone.rb
230
+ - lib/mongoid/extensions/true_class.rb
234
231
  - lib/mongoid/extensions.rb
235
- - lib/mongoid/extras.rb
236
232
  - lib/mongoid/factory.rb
237
- - lib/mongoid/fields/internal/array.rb
238
- - lib/mongoid/fields/internal/big_decimal.rb
239
- - lib/mongoid/fields/internal/bignum.rb
240
- - lib/mongoid/fields/internal/binary.rb
241
- - lib/mongoid/fields/internal/boolean.rb
242
- - lib/mongoid/fields/internal/date.rb
243
- - lib/mongoid/fields/internal/date_time.rb
244
- - lib/mongoid/fields/internal/false_class.rb
245
- - lib/mongoid/fields/internal/fixnum.rb
246
- - lib/mongoid/fields/internal/float.rb
247
- - lib/mongoid/fields/internal/foreign_keys/array.rb
248
- - lib/mongoid/fields/internal/foreign_keys/object.rb
249
- - lib/mongoid/fields/internal/hash.rb
250
- - lib/mongoid/fields/internal/integer.rb
251
- - lib/mongoid/fields/internal/localized.rb
252
- - lib/mongoid/fields/internal/nil_class.rb
253
- - lib/mongoid/fields/internal/object.rb
254
- - lib/mongoid/fields/internal/object_id.rb
255
- - lib/mongoid/fields/internal/range.rb
256
- - lib/mongoid/fields/internal/set.rb
257
- - lib/mongoid/fields/internal/string.rb
258
- - lib/mongoid/fields/internal/symbol.rb
259
- - lib/mongoid/fields/internal/time.rb
260
- - lib/mongoid/fields/internal/time_with_zone.rb
261
- - lib/mongoid/fields/internal/timekeeping.rb
262
- - lib/mongoid/fields/internal/true_class.rb
263
- - lib/mongoid/fields/mappings.rb
264
- - lib/mongoid/fields/serializable.rb
233
+ - lib/mongoid/fields/foreign_key.rb
234
+ - lib/mongoid/fields/localized.rb
235
+ - lib/mongoid/fields/standard.rb
236
+ - lib/mongoid/fields/validators/macro.rb
237
+ - lib/mongoid/fields/validators.rb
265
238
  - lib/mongoid/fields.rb
266
239
  - lib/mongoid/finders.rb
267
240
  - lib/mongoid/hierarchy.rb
268
- - lib/mongoid/identity.rb
269
241
  - lib/mongoid/identity_map.rb
242
+ - lib/mongoid/indexes/validators/options.rb
270
243
  - lib/mongoid/indexes.rb
271
244
  - lib/mongoid/inspection.rb
272
245
  - lib/mongoid/javascript/functions.yml
273
246
  - lib/mongoid/javascript.rb
274
247
  - lib/mongoid/json.rb
275
- - lib/mongoid/keys.rb
276
- - lib/mongoid/logger.rb
248
+ - lib/mongoid/loggable.rb
277
249
  - lib/mongoid/matchers/all.rb
278
250
  - lib/mongoid/matchers/and.rb
279
251
  - lib/mongoid/matchers/default.rb
@@ -289,9 +261,7 @@ files:
289
261
  - lib/mongoid/matchers/size.rb
290
262
  - lib/mongoid/matchers/strategies.rb
291
263
  - lib/mongoid/matchers.rb
292
- - lib/mongoid/multi_database.rb
293
264
  - lib/mongoid/multi_parameter_attributes.rb
294
- - lib/mongoid/named_scope.rb
295
265
  - lib/mongoid/nested_attributes.rb
296
266
  - lib/mongoid/observer.rb
297
267
  - lib/mongoid/paranoia.rb
@@ -346,16 +316,12 @@ files:
346
316
  - lib/mongoid/relations/cascading/delete.rb
347
317
  - lib/mongoid/relations/cascading/destroy.rb
348
318
  - lib/mongoid/relations/cascading/nullify.rb
319
+ - lib/mongoid/relations/cascading/restrict.rb
349
320
  - lib/mongoid/relations/cascading.rb
350
321
  - lib/mongoid/relations/constraint.rb
351
322
  - lib/mongoid/relations/conversions.rb
352
323
  - lib/mongoid/relations/cyclic.rb
353
- - lib/mongoid/relations/embedded/atomic/operation.rb
354
- - lib/mongoid/relations/embedded/atomic/pull.rb
355
- - lib/mongoid/relations/embedded/atomic/push_all.rb
356
- - lib/mongoid/relations/embedded/atomic/set.rb
357
- - lib/mongoid/relations/embedded/atomic/unset.rb
358
- - lib/mongoid/relations/embedded/atomic.rb
324
+ - lib/mongoid/relations/embedded/batchable.rb
359
325
  - lib/mongoid/relations/embedded/in.rb
360
326
  - lib/mongoid/relations/embedded/many.rb
361
327
  - lib/mongoid/relations/embedded/one.rb
@@ -367,8 +333,6 @@ files:
367
333
  - lib/mongoid/relations/options.rb
368
334
  - lib/mongoid/relations/polymorphic.rb
369
335
  - lib/mongoid/relations/proxy.rb
370
- - lib/mongoid/relations/referenced/batch/insert.rb
371
- - lib/mongoid/relations/referenced/batch.rb
372
336
  - lib/mongoid/relations/referenced/in.rb
373
337
  - lib/mongoid/relations/referenced/many.rb
374
338
  - lib/mongoid/relations/referenced/many_to_many.rb
@@ -380,17 +344,23 @@ files:
380
344
  - lib/mongoid/relations/touchable.rb
381
345
  - lib/mongoid/relations.rb
382
346
  - lib/mongoid/reloading.rb
383
- - lib/mongoid/safety.rb
384
- - lib/mongoid/scope.rb
347
+ - lib/mongoid/scoping.rb
385
348
  - lib/mongoid/serialization.rb
349
+ - lib/mongoid/sessions/factory.rb
350
+ - lib/mongoid/sessions/mongo_uri.rb
351
+ - lib/mongoid/sessions/validators/storage.rb
352
+ - lib/mongoid/sessions/validators.rb
353
+ - lib/mongoid/sessions.rb
386
354
  - lib/mongoid/sharding.rb
387
355
  - lib/mongoid/state.rb
388
356
  - lib/mongoid/threaded/lifecycle.rb
357
+ - lib/mongoid/threaded/sessions.rb
389
358
  - lib/mongoid/threaded.rb
390
359
  - lib/mongoid/timestamps/created.rb
391
360
  - lib/mongoid/timestamps/timeless.rb
392
361
  - lib/mongoid/timestamps/updated.rb
393
362
  - lib/mongoid/timestamps.rb
363
+ - lib/mongoid/unit_of_work.rb
394
364
  - lib/mongoid/validations/associated.rb
395
365
  - lib/mongoid/validations/format.rb
396
366
  - lib/mongoid/validations/length.rb
@@ -416,27 +386,30 @@ files:
416
386
  - README.md
417
387
  - Rakefile
418
388
  homepage: http://mongoid.org
419
- licenses:
420
- - MIT
421
- metadata: {}
389
+ licenses: []
422
390
  post_install_message:
423
391
  rdoc_options: []
424
392
  require_paths:
425
393
  - lib
426
394
  required_ruby_version: !ruby/object:Gem::Requirement
395
+ none: false
427
396
  requirements:
428
- - - '>='
397
+ - - ! '>='
429
398
  - !ruby/object:Gem::Version
430
399
  version: '0'
400
+ segments:
401
+ - 0
402
+ hash: 2284933859052458151
431
403
  required_rubygems_version: !ruby/object:Gem::Requirement
404
+ none: false
432
405
  requirements:
433
- - - '>='
406
+ - - ! '>='
434
407
  - !ruby/object:Gem::Version
435
408
  version: 1.3.6
436
409
  requirements: []
437
410
  rubyforge_project: mongoid
438
- rubygems_version: 2.0.6
411
+ rubygems_version: 1.8.24
439
412
  signing_key:
440
- specification_version: 4
413
+ specification_version: 3
441
414
  summary: Elegant Persistance in Ruby for MongoDB.
442
415
  test_files: []