mongoid 2.4.10 → 3.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 (356) hide show
  1. data/CHANGELOG.md +949 -10
  2. data/LICENSE +1 -1
  3. data/README.md +10 -11
  4. data/Rakefile +3 -17
  5. data/lib/config/locales/en.yml +455 -51
  6. data/lib/mongoid/atomic/modifiers.rb +2 -2
  7. data/lib/mongoid/atomic/paths/embedded/many.rb +6 -6
  8. data/lib/mongoid/atomic/paths/embedded/one.rb +5 -5
  9. data/lib/mongoid/atomic/paths/embedded.rb +4 -5
  10. data/lib/mongoid/atomic/paths/root.rb +4 -5
  11. data/lib/mongoid/atomic.rb +70 -16
  12. data/lib/mongoid/attributes/processing.rb +14 -10
  13. data/lib/mongoid/attributes/readonly.rb +56 -0
  14. data/lib/mongoid/attributes.rb +95 -32
  15. data/lib/mongoid/callbacks.rb +106 -43
  16. data/lib/mongoid/components.rb +12 -23
  17. data/lib/mongoid/config/environment.rb +7 -4
  18. data/lib/mongoid/config/inflections.rb +6 -0
  19. data/lib/mongoid/config/options.rb +1 -1
  20. data/lib/mongoid/config/validators/option.rb +25 -0
  21. data/lib/mongoid/config/validators/session.rb +140 -0
  22. data/lib/mongoid/config/validators.rb +3 -0
  23. data/lib/mongoid/config.rb +104 -225
  24. data/lib/mongoid/contextual/aggregable/memory.rb +109 -0
  25. data/lib/mongoid/contextual/aggregable/mongo.rb +181 -0
  26. data/lib/mongoid/contextual/atomic.rb +179 -0
  27. data/lib/mongoid/contextual/command.rb +43 -0
  28. data/lib/mongoid/contextual/find_and_modify.rb +68 -0
  29. data/lib/mongoid/contextual/map_reduce.rb +273 -0
  30. data/lib/mongoid/contextual/memory.rb +406 -0
  31. data/lib/mongoid/contextual/mongo.rb +662 -0
  32. data/lib/mongoid/contextual.rb +50 -0
  33. data/lib/mongoid/copyable.rb +7 -25
  34. data/lib/mongoid/criteria.rb +515 -245
  35. data/lib/mongoid/criterion/inspection.rb +14 -8
  36. data/lib/mongoid/criterion/scoping.rb +114 -44
  37. data/lib/mongoid/dirty.rb +152 -67
  38. data/lib/mongoid/document.rb +71 -52
  39. data/lib/mongoid/errors/ambiguous_relationship.rb +51 -0
  40. data/lib/mongoid/errors/callback.rb +5 -6
  41. data/lib/mongoid/errors/delete_restriction.rb +29 -0
  42. data/lib/mongoid/errors/document_not_found.rb +98 -17
  43. data/lib/mongoid/errors/eager_load.rb +3 -6
  44. data/lib/mongoid/errors/invalid_collection.rb +3 -3
  45. data/lib/mongoid/errors/invalid_config_option.rb +27 -0
  46. data/lib/mongoid/errors/invalid_database.rb +3 -3
  47. data/lib/mongoid/errors/invalid_field.rb +54 -8
  48. data/lib/mongoid/errors/invalid_field_option.rb +35 -0
  49. data/lib/mongoid/errors/invalid_find.rb +3 -3
  50. data/lib/mongoid/errors/invalid_index.rb +28 -0
  51. data/lib/mongoid/errors/invalid_options.rb +4 -4
  52. data/lib/mongoid/errors/invalid_scope.rb +24 -0
  53. data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +38 -0
  54. data/lib/mongoid/errors/invalid_storage_options.rb +27 -0
  55. data/lib/mongoid/errors/invalid_time.rb +3 -6
  56. data/lib/mongoid/errors/inverse_not_found.rb +29 -0
  57. data/lib/mongoid/errors/mixed_relations.rb +4 -9
  58. data/lib/mongoid/errors/mixed_session_configuration.rb +28 -0
  59. data/lib/mongoid/errors/mongoid_error.rb +54 -3
  60. data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +28 -0
  61. data/lib/mongoid/errors/no_default_session.rb +23 -0
  62. data/lib/mongoid/errors/no_environment.rb +3 -3
  63. data/lib/mongoid/errors/no_map_reduce_output.rb +24 -0
  64. data/lib/mongoid/errors/no_metadata.rb +21 -0
  65. data/lib/mongoid/errors/no_parent.rb +24 -0
  66. data/lib/mongoid/errors/no_session_config.rb +22 -0
  67. data/lib/mongoid/errors/no_session_database.rb +27 -0
  68. data/lib/mongoid/errors/no_session_hosts.rb +27 -0
  69. data/lib/mongoid/errors/no_sessions_config.rb +20 -0
  70. data/lib/mongoid/errors/readonly_attribute.rb +25 -0
  71. data/lib/mongoid/errors/scope_overwrite.rb +4 -4
  72. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +4 -4
  73. data/lib/mongoid/errors/unknown_attribute.rb +25 -0
  74. data/lib/mongoid/errors/unsaved_document.rb +4 -8
  75. data/lib/mongoid/errors/unsupported_javascript.rb +27 -0
  76. data/lib/mongoid/errors/unsupported_version.rb +4 -4
  77. data/lib/mongoid/errors/validations.rb +7 -6
  78. data/lib/mongoid/errors/versioning_not_on_root.rb +23 -0
  79. data/lib/mongoid/errors.rb +23 -1
  80. data/lib/mongoid/evolvable.rb +19 -0
  81. data/lib/mongoid/extensions/array.rb +164 -0
  82. data/lib/mongoid/extensions/big_decimal.rb +42 -0
  83. data/lib/mongoid/extensions/boolean.rb +24 -0
  84. data/lib/mongoid/extensions/date.rb +70 -0
  85. data/lib/mongoid/extensions/date_time.rb +73 -0
  86. data/lib/mongoid/extensions/false_class.rb +38 -0
  87. data/lib/mongoid/extensions/float.rb +56 -0
  88. data/lib/mongoid/extensions/hash.rb +123 -0
  89. data/lib/mongoid/extensions/integer.rb +66 -0
  90. data/lib/mongoid/extensions/module.rb +28 -0
  91. data/lib/mongoid/extensions/nil_class.rb +21 -0
  92. data/lib/mongoid/extensions/object.rb +238 -0
  93. data/lib/mongoid/extensions/object_id.rb +54 -0
  94. data/lib/mongoid/extensions/range.rb +79 -0
  95. data/lib/mongoid/extensions/regexp.rb +27 -0
  96. data/lib/mongoid/extensions/set.rb +55 -0
  97. data/lib/mongoid/extensions/string.rb +181 -0
  98. data/lib/mongoid/extensions/symbol.rb +54 -0
  99. data/lib/mongoid/extensions/time.rb +78 -0
  100. data/lib/mongoid/extensions/time_with_zone.rb +55 -0
  101. data/lib/mongoid/extensions/true_class.rb +38 -0
  102. data/lib/mongoid/extensions.rb +28 -76
  103. data/lib/mongoid/factory.rb +1 -1
  104. data/lib/mongoid/fields/foreign_key.rb +150 -0
  105. data/lib/mongoid/fields/localized.rb +73 -0
  106. data/lib/mongoid/fields/standard.rb +268 -0
  107. data/lib/mongoid/fields/validators/macro.rb +83 -0
  108. data/lib/mongoid/fields/validators.rb +2 -0
  109. data/lib/mongoid/fields.rb +142 -208
  110. data/lib/mongoid/finders.rb +45 -50
  111. data/lib/mongoid/hierarchy.rb +44 -15
  112. data/lib/mongoid/identity_map.rb +49 -21
  113. data/lib/mongoid/indexes/validators/options.rb +80 -0
  114. data/lib/mongoid/indexes.rb +66 -15
  115. data/lib/mongoid/inspection.rb +1 -1
  116. data/lib/mongoid/json.rb +2 -2
  117. data/lib/mongoid/loggable.rb +69 -0
  118. data/lib/mongoid/matchers/all.rb +7 -8
  119. data/lib/mongoid/matchers/and.rb +3 -3
  120. data/lib/mongoid/matchers/default.rb +6 -4
  121. data/lib/mongoid/matchers/exists.rb +2 -2
  122. data/lib/mongoid/matchers/gt.rb +2 -2
  123. data/lib/mongoid/matchers/gte.rb +2 -2
  124. data/lib/mongoid/matchers/in.rb +3 -7
  125. data/lib/mongoid/matchers/lt.rb +2 -2
  126. data/lib/mongoid/matchers/lte.rb +2 -2
  127. data/lib/mongoid/matchers/ne.rb +2 -2
  128. data/lib/mongoid/matchers/nin.rb +2 -2
  129. data/lib/mongoid/matchers/or.rb +2 -2
  130. data/lib/mongoid/matchers/size.rb +2 -2
  131. data/lib/mongoid/matchers/strategies.rb +3 -3
  132. data/lib/mongoid/matchers.rb +1 -1
  133. data/lib/mongoid/multi_parameter_attributes.rb +9 -11
  134. data/lib/mongoid/nested_attributes.rb +17 -9
  135. data/lib/mongoid/observer.rb +1 -2
  136. data/lib/mongoid/paranoia.rb +10 -44
  137. data/lib/mongoid/persistence/atomic/add_to_set.rb +5 -9
  138. data/lib/mongoid/persistence/atomic/bit.rb +5 -7
  139. data/lib/mongoid/persistence/atomic/inc.rb +5 -7
  140. data/lib/mongoid/persistence/atomic/operation.rb +45 -6
  141. data/lib/mongoid/persistence/atomic/pop.rb +5 -7
  142. data/lib/mongoid/persistence/atomic/pull.rb +5 -7
  143. data/lib/mongoid/persistence/atomic/pull_all.rb +5 -7
  144. data/lib/mongoid/persistence/atomic/push.rb +4 -10
  145. data/lib/mongoid/persistence/atomic/push_all.rb +4 -10
  146. data/lib/mongoid/persistence/atomic/rename.rb +6 -7
  147. data/lib/mongoid/persistence/atomic/sets.rb +5 -7
  148. data/lib/mongoid/persistence/atomic/unset.rb +4 -5
  149. data/lib/mongoid/persistence/atomic.rb +2 -2
  150. data/lib/mongoid/persistence/deletion.rb +2 -2
  151. data/lib/mongoid/persistence/insertion.rb +10 -16
  152. data/lib/mongoid/persistence/modification.rb +5 -9
  153. data/lib/mongoid/persistence/operations/embedded/insert.rb +7 -6
  154. data/lib/mongoid/persistence/operations/embedded/remove.rb +5 -5
  155. data/lib/mongoid/persistence/operations/insert.rb +4 -4
  156. data/lib/mongoid/persistence/operations/remove.rb +4 -4
  157. data/lib/mongoid/persistence/operations/update.rb +5 -5
  158. data/lib/mongoid/persistence/operations/upsert.rb +28 -0
  159. data/lib/mongoid/persistence/operations.rb +22 -19
  160. data/lib/mongoid/persistence/upsertion.rb +30 -0
  161. data/lib/mongoid/persistence.rb +94 -39
  162. data/lib/mongoid/railtie.rb +26 -11
  163. data/lib/mongoid/railties/database.rake +22 -108
  164. data/lib/mongoid/relations/accessors.rb +120 -20
  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 +4 -4
  175. data/lib/mongoid/relations/builders/embedded/in.rb +5 -5
  176. data/lib/mongoid/relations/builders/embedded/many.rb +12 -12
  177. data/lib/mongoid/relations/builders/embedded/one.rb +6 -6
  178. data/lib/mongoid/relations/builders/nested_attributes/many.rb +8 -8
  179. data/lib/mongoid/relations/builders/nested_attributes/one.rb +5 -5
  180. data/lib/mongoid/relations/builders/referenced/in.rb +4 -4
  181. data/lib/mongoid/relations/builders/referenced/many.rb +6 -6
  182. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +7 -5
  183. data/lib/mongoid/relations/builders/referenced/one.rb +5 -5
  184. data/lib/mongoid/relations/builders.rb +19 -16
  185. data/lib/mongoid/relations/cascading/delete.rb +3 -5
  186. data/lib/mongoid/relations/cascading/destroy.rb +3 -3
  187. data/lib/mongoid/relations/cascading/nullify.rb +3 -3
  188. data/lib/mongoid/relations/cascading/restrict.rb +37 -0
  189. data/lib/mongoid/relations/cascading.rb +10 -7
  190. data/lib/mongoid/relations/constraint.rb +4 -3
  191. data/lib/mongoid/relations/conversions.rb +6 -7
  192. data/lib/mongoid/relations/cyclic.rb +7 -7
  193. data/lib/mongoid/relations/embedded/batchable.rb +347 -0
  194. data/lib/mongoid/relations/embedded/in.rb +23 -12
  195. data/lib/mongoid/relations/embedded/many.rb +100 -161
  196. data/lib/mongoid/relations/embedded/one.rb +25 -14
  197. data/lib/mongoid/relations/macros.rb +105 -60
  198. data/lib/mongoid/relations/many.rb +93 -14
  199. data/lib/mongoid/relations/metadata.rb +277 -47
  200. data/lib/mongoid/relations/nested_builder.rb +4 -6
  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 +62 -31
  205. data/lib/mongoid/relations/referenced/in.rb +40 -15
  206. data/lib/mongoid/relations/referenced/many.rb +162 -130
  207. data/lib/mongoid/relations/referenced/many_to_many.rb +104 -48
  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/relations/touchable.rb +32 -0
  213. data/lib/mongoid/relations.rb +22 -6
  214. data/lib/mongoid/reloading.rb +12 -14
  215. data/lib/mongoid/scoping.rb +312 -0
  216. data/lib/mongoid/serialization.rb +94 -42
  217. data/lib/mongoid/sessions/factory.rb +108 -0
  218. data/lib/mongoid/sessions/mongo_uri.rb +93 -0
  219. data/lib/mongoid/sessions/validators/storage.rb +49 -0
  220. data/lib/mongoid/sessions/validators.rb +2 -0
  221. data/lib/mongoid/sessions.rb +383 -0
  222. data/lib/mongoid/sharding.rb +6 -6
  223. data/lib/mongoid/state.rb +6 -7
  224. data/lib/mongoid/threaded/lifecycle.rb +21 -21
  225. data/lib/mongoid/threaded/sessions.rb +0 -0
  226. data/lib/mongoid/threaded.rb +219 -59
  227. data/lib/mongoid/timestamps/created.rb +8 -4
  228. data/lib/mongoid/timestamps/timeless.rb +6 -4
  229. data/lib/mongoid/timestamps/updated.rb +4 -3
  230. data/lib/mongoid/timestamps.rb +1 -1
  231. data/lib/mongoid/unit_of_work.rb +61 -0
  232. data/lib/mongoid/validations/associated.rb +2 -2
  233. data/lib/mongoid/validations/format.rb +2 -2
  234. data/lib/mongoid/validations/presence.rb +34 -4
  235. data/lib/mongoid/validations/uniqueness.rb +11 -12
  236. data/lib/mongoid/validations.rb +28 -20
  237. data/lib/mongoid/version.rb +2 -2
  238. data/lib/mongoid/versioning.rb +25 -26
  239. data/lib/mongoid.rb +37 -37
  240. data/lib/rack/mongoid/middleware/identity_map.rb +3 -3
  241. data/lib/rails/generators/mongoid/config/config_generator.rb +1 -1
  242. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +65 -17
  243. data/lib/rails/generators/mongoid/model/model_generator.rb +7 -7
  244. data/lib/rails/generators/mongoid/model/templates/model.rb.tt +2 -2
  245. data/lib/rails/generators/mongoid/observer/observer_generator.rb +4 -4
  246. data/lib/rails/generators/mongoid_generator.rb +5 -5
  247. data/lib/rails/mongoid.rb +73 -26
  248. metadata +103 -148
  249. data/lib/config/locales/bg.yml +0 -61
  250. data/lib/config/locales/de.yml +0 -61
  251. data/lib/config/locales/en-GB.yml +0 -64
  252. data/lib/config/locales/es.yml +0 -59
  253. data/lib/config/locales/fr.yml +0 -62
  254. data/lib/config/locales/hi.yml +0 -53
  255. data/lib/config/locales/hu.yml +0 -64
  256. data/lib/config/locales/id.yml +0 -62
  257. data/lib/config/locales/it.yml +0 -59
  258. data/lib/config/locales/ja.yml +0 -57
  259. data/lib/config/locales/kr.yml +0 -54
  260. data/lib/config/locales/nl.yml +0 -61
  261. data/lib/config/locales/pl.yml +0 -59
  262. data/lib/config/locales/pt-BR.yml +0 -60
  263. data/lib/config/locales/pt.yml +0 -60
  264. data/lib/config/locales/ro.yml +0 -66
  265. data/lib/config/locales/ru.yml +0 -61
  266. data/lib/config/locales/sv.yml +0 -60
  267. data/lib/config/locales/vi.yml +0 -62
  268. data/lib/config/locales/zh-CN.yml +0 -53
  269. data/lib/mongoid/collection.rb +0 -157
  270. data/lib/mongoid/collections/master.rb +0 -45
  271. data/lib/mongoid/collections/operations.rb +0 -44
  272. data/lib/mongoid/collections/retry.rb +0 -59
  273. data/lib/mongoid/collections.rb +0 -120
  274. data/lib/mongoid/config/database.rb +0 -181
  275. data/lib/mongoid/config/replset_database.rb +0 -80
  276. data/lib/mongoid/contexts/enumerable/sort.rb +0 -43
  277. data/lib/mongoid/contexts/enumerable.rb +0 -313
  278. data/lib/mongoid/contexts/mongo.rb +0 -487
  279. data/lib/mongoid/contexts.rb +0 -25
  280. data/lib/mongoid/criterion/builder.rb +0 -34
  281. data/lib/mongoid/criterion/complex.rb +0 -84
  282. data/lib/mongoid/criterion/creational.rb +0 -34
  283. data/lib/mongoid/criterion/exclusion.rb +0 -108
  284. data/lib/mongoid/criterion/inclusion.rb +0 -290
  285. data/lib/mongoid/criterion/optional.rb +0 -259
  286. data/lib/mongoid/criterion/selector.rb +0 -177
  287. data/lib/mongoid/cursor.rb +0 -88
  288. data/lib/mongoid/default_scope.rb +0 -36
  289. data/lib/mongoid/errors/invalid_type.rb +0 -25
  290. data/lib/mongoid/extensions/array/deep_copy.rb +0 -25
  291. data/lib/mongoid/extensions/array/deletion.rb +0 -29
  292. data/lib/mongoid/extensions/false_class/equality.rb +0 -26
  293. data/lib/mongoid/extensions/hash/criteria_helpers.rb +0 -47
  294. data/lib/mongoid/extensions/hash/deep_copy.rb +0 -25
  295. data/lib/mongoid/extensions/hash/scoping.rb +0 -25
  296. data/lib/mongoid/extensions/integer/checks.rb +0 -23
  297. data/lib/mongoid/extensions/nil/collectionization.rb +0 -23
  298. data/lib/mongoid/extensions/object/checks.rb +0 -29
  299. data/lib/mongoid/extensions/object/deep_copy.rb +0 -21
  300. data/lib/mongoid/extensions/object/reflections.rb +0 -48
  301. data/lib/mongoid/extensions/object/substitutable.rb +0 -15
  302. data/lib/mongoid/extensions/object/yoda.rb +0 -44
  303. data/lib/mongoid/extensions/object_id/conversions.rb +0 -60
  304. data/lib/mongoid/extensions/proc/scoping.rb +0 -25
  305. data/lib/mongoid/extensions/string/checks.rb +0 -36
  306. data/lib/mongoid/extensions/string/conversions.rb +0 -22
  307. data/lib/mongoid/extensions/string/inflections.rb +0 -118
  308. data/lib/mongoid/extensions/symbol/checks.rb +0 -23
  309. data/lib/mongoid/extensions/symbol/inflections.rb +0 -67
  310. data/lib/mongoid/extensions/true_class/equality.rb +0 -26
  311. data/lib/mongoid/extras.rb +0 -31
  312. data/lib/mongoid/fields/internal/array.rb +0 -76
  313. data/lib/mongoid/fields/internal/big_decimal.rb +0 -63
  314. data/lib/mongoid/fields/internal/bignum.rb +0 -10
  315. data/lib/mongoid/fields/internal/binary.rb +0 -11
  316. data/lib/mongoid/fields/internal/boolean.rb +0 -58
  317. data/lib/mongoid/fields/internal/date.rb +0 -51
  318. data/lib/mongoid/fields/internal/date_time.rb +0 -28
  319. data/lib/mongoid/fields/internal/false_class.rb +0 -10
  320. data/lib/mongoid/fields/internal/fixnum.rb +0 -10
  321. data/lib/mongoid/fields/internal/float.rb +0 -47
  322. data/lib/mongoid/fields/internal/foreign_keys/array.rb +0 -88
  323. data/lib/mongoid/fields/internal/foreign_keys/object.rb +0 -56
  324. data/lib/mongoid/fields/internal/hash.rb +0 -11
  325. data/lib/mongoid/fields/internal/integer.rb +0 -59
  326. data/lib/mongoid/fields/internal/localized.rb +0 -62
  327. data/lib/mongoid/fields/internal/nil_class.rb +0 -53
  328. data/lib/mongoid/fields/internal/object.rb +0 -11
  329. data/lib/mongoid/fields/internal/object_id.rb +0 -46
  330. data/lib/mongoid/fields/internal/range.rb +0 -61
  331. data/lib/mongoid/fields/internal/set.rb +0 -57
  332. data/lib/mongoid/fields/internal/string.rb +0 -42
  333. data/lib/mongoid/fields/internal/symbol.rb +0 -43
  334. data/lib/mongoid/fields/internal/time.rb +0 -23
  335. data/lib/mongoid/fields/internal/time_with_zone.rb +0 -23
  336. data/lib/mongoid/fields/internal/timekeeping.rb +0 -122
  337. data/lib/mongoid/fields/internal/true_class.rb +0 -10
  338. data/lib/mongoid/fields/mappings.rb +0 -42
  339. data/lib/mongoid/fields/serializable.rb +0 -270
  340. data/lib/mongoid/identity.rb +0 -92
  341. data/lib/mongoid/javascript/functions.yml +0 -63
  342. data/lib/mongoid/javascript.rb +0 -20
  343. data/lib/mongoid/keys.rb +0 -144
  344. data/lib/mongoid/logger.rb +0 -45
  345. data/lib/mongoid/multi_database.rb +0 -36
  346. data/lib/mongoid/named_scope.rb +0 -166
  347. data/lib/mongoid/relations/embedded/atomic/operation.rb +0 -63
  348. data/lib/mongoid/relations/embedded/atomic/pull.rb +0 -65
  349. data/lib/mongoid/relations/embedded/atomic/push_all.rb +0 -59
  350. data/lib/mongoid/relations/embedded/atomic/set.rb +0 -61
  351. data/lib/mongoid/relations/embedded/atomic/unset.rb +0 -41
  352. data/lib/mongoid/relations/embedded/atomic.rb +0 -89
  353. data/lib/mongoid/relations/referenced/batch/insert.rb +0 -57
  354. data/lib/mongoid/relations/referenced/batch.rb +0 -73
  355. data/lib/mongoid/safety.rb +0 -105
  356. data/lib/mongoid/scope.rb +0 -31
data/lib/rails/mongoid.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
- module Rails #:nodoc:
3
- module Mongoid #:nodoc:
2
+ module Rails
3
+ module Mongoid
4
4
  extend self
5
5
 
6
6
  # Create indexes for each model given the provided pattern and the class is
@@ -15,23 +15,64 @@ module Rails #:nodoc:
15
15
  #
16
16
  # @since 2.1.0
17
17
  def create_indexes(pattern)
18
- Dir.glob(pattern).each do |file|
18
+ logger = Logger.new($stdout)
19
+ models(pattern).each do |model|
20
+ next if model.index_options.empty?
21
+ unless model.embedded?
22
+ model.create_indexes
23
+ logger.info("MONGOID: Created indexes on #{model}:")
24
+ model.index_options.each_pair do |index, options|
25
+ logger.info("MONGOID: Index: #{index}, Options: #{options}")
26
+ end
27
+ else
28
+ logger.info("MONGOID: Index ignored on: #{model}, please define in the root model.")
29
+ end
30
+ end
31
+ end
32
+
33
+ # Remove indexes for each model given the provided pattern and the class is
34
+ # not embedded.
35
+ #
36
+ # @example Remove all the indexes.
37
+ # Rails::Mongoid.create_indexes("app/models/**/*.rb")
38
+ #
39
+ # @param [ String ] pattern The file matching pattern.
40
+ #
41
+ # @return [ Array<String> ] The file names.
42
+ #
43
+ def remove_indexes(pattern)
44
+ logger = Logger.new($stdout)
45
+ models(pattern).each do |model|
46
+ next if model.embedded?
47
+ indexes = model.collection.indexes.map{ |doc| doc["name"] }
48
+ indexes.delete_one("_id_")
49
+ model.remove_indexes
50
+ logger.info("MONGOID: Removing indexes on: #{model} for: #{indexes.join(', ')}.")
51
+ end
52
+ end
53
+
54
+ # Return all models matching the pattern.
55
+ #
56
+ # @example Return all models.
57
+ # Rails::Mongoid.models("app/models/**/*.rb")
58
+ #
59
+ # @param [ String ] pattern The file matching pattern.
60
+ #
61
+ # @return [ Array<Class> ] The models.
62
+ #
63
+ def models(pattern)
64
+ Dir.glob(pattern).map do |file|
19
65
  logger = Logger.new($stdout)
20
66
  begin
21
- model = determine_model(file, logger)
67
+ determine_model(file, logger)
22
68
  rescue => e
23
- logger.error(%Q{Failed to determine model from #{file}:
69
+ logger.error(%Q{MONGOID: Failed to determine model from #{file}:
24
70
  #{e.class}:#{e.message}
25
71
  #{e.backtrace.join("\n")}
26
72
  })
73
+ nil
27
74
  end
28
- if model
29
- model.create_indexes
30
- logger.info("Generated indexes for #{model}")
31
- else
32
- logger.info("Not a Mongoid parent model: #{file}")
33
- end
34
- end
75
+ end.flatten.compact
35
76
  end
36
77
 
37
78
  # Use the application configuration to get every model and require it, so
@@ -44,7 +85,14 @@ module Rails #:nodoc:
44
85
  # @param [ Application ] app The rails application.
45
86
  def load_models(app)
46
87
  app.config.paths["app/models"].each do |path|
47
- Dir.glob("#{path}/**/*.rb").sort.each do |file|
88
+ preload = ::Mongoid.preload_models
89
+ if preload.resizable?
90
+ files = preload.map { |model| "#{path}/#{model}.rb" }
91
+ else
92
+ files = Dir.glob("#{path}/**/*.rb")
93
+ end
94
+
95
+ files.sort.each do |file|
48
96
  load_model(file.gsub("#{path}/" , "").gsub(".rb", ""))
49
97
  end
50
98
  end
@@ -84,20 +132,19 @@ module Rails #:nodoc:
84
132
  #
85
133
  # @since 2.1.0
86
134
  def determine_model(file, logger)
87
- if file =~ /app\/models\/(.*).rb$/
88
- model_path = $1.split('/')
89
- begin
90
- parts = model_path.map { |path| path.camelize }
91
- name = parts.join("::")
92
- klass = name.constantize
93
- rescue NameError, LoadError => e
94
- logger.info("Attempted to constantize #{name}, trying without namespacing.")
95
- klass = parts.last.constantize
96
- end
97
- if klass.ancestors.include?(::Mongoid::Document) && !klass.embedded
98
- return klass
99
- end
135
+ return nil unless file =~ /app\/models\/(.*).rb$/
136
+ return nil unless logger
137
+
138
+ model_path = $1.split('/')
139
+ begin
140
+ parts = model_path.map { |path| path.camelize }
141
+ name = parts.join("::")
142
+ klass = name.constantize
143
+ rescue NameError, LoadError
144
+ logger.info("MONGOID: Attempted to constantize #{name}, trying without namespacing.")
145
+ klass = parts.last.constantize
100
146
  end
147
+ klass if klass.ancestors.include?(::Mongoid::Document)
101
148
  end
102
149
  end
103
150
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.10
4
+ version: 3.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-12 00:00:00.000000000 Z
12
+ date: 2012-07-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -44,13 +44,13 @@ dependencies:
44
44
  - !ruby/object:Gem::Version
45
45
  version: 0.3.22
46
46
  - !ruby/object:Gem::Dependency
47
- name: mongo
47
+ name: moped
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
53
+ version: 1.1.1
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,55 +58,39 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: 1.1.1
62
62
  - !ruby/object:Gem::Dependency
63
- name: rdoc
63
+ name: origin
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 3.5.0
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 3.5.0
78
- - !ruby/object:Gem::Dependency
79
- name: bson_ext
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ~>
84
- - !ruby/object:Gem::Version
85
- version: '1.3'
86
- type: :development
69
+ version: 1.0.3
70
+ type: :runtime
87
71
  prerelease: false
88
72
  version_requirements: !ruby/object:Gem::Requirement
89
73
  none: false
90
74
  requirements:
91
75
  - - ~>
92
76
  - !ruby/object:Gem::Version
93
- version: '1.3'
77
+ version: 1.0.3
94
78
  - !ruby/object:Gem::Dependency
95
79
  name: mocha
96
80
  requirement: !ruby/object:Gem::Requirement
97
81
  none: false
98
82
  requirements:
99
- - - ~>
83
+ - - '='
100
84
  - !ruby/object:Gem::Version
101
- version: '0.10'
85
+ version: '0.11'
102
86
  type: :development
103
87
  prerelease: false
104
88
  version_requirements: !ruby/object:Gem::Requirement
105
89
  none: false
106
90
  requirements:
107
- - - ~>
91
+ - - '='
108
92
  - !ruby/object:Gem::Version
109
- version: '0.10'
93
+ version: '0.11'
110
94
  - !ruby/object:Gem::Dependency
111
95
  name: rspec
112
96
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +98,7 @@ dependencies:
114
98
  requirements:
115
99
  - - ~>
116
100
  - !ruby/object:Gem::Version
117
- version: '2.6'
101
+ version: '2.10'
118
102
  type: :development
119
103
  prerelease: false
120
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,31 +106,31 @@ dependencies:
122
106
  requirements:
123
107
  - - ~>
124
108
  - !ruby/object:Gem::Version
125
- version: '2.6'
109
+ version: '2.10'
126
110
  - !ruby/object:Gem::Dependency
127
- name: guard-rspec
111
+ name: guard
128
112
  requirement: !ruby/object:Gem::Requirement
129
113
  none: false
130
114
  requirements:
131
- - - ~>
115
+ - - '='
132
116
  - !ruby/object:Gem::Version
133
- version: '0.6'
117
+ version: 1.2.1
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
121
  none: false
138
122
  requirements:
139
- - - ~>
123
+ - - '='
140
124
  - !ruby/object:Gem::Version
141
- version: '0.6'
125
+ version: 1.2.1
142
126
  - !ruby/object:Gem::Dependency
143
- name: ammeter
127
+ name: guard-rspec
144
128
  requirement: !ruby/object:Gem::Requirement
145
129
  none: false
146
130
  requirements:
147
131
  - - ~>
148
132
  - !ruby/object:Gem::Version
149
- version: 0.1.3
133
+ version: '0.7'
150
134
  type: :development
151
135
  prerelease: false
152
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +138,7 @@ dependencies:
154
138
  requirements:
155
139
  - - ~>
156
140
  - !ruby/object:Gem::Version
157
- version: 0.1.3
141
+ version: '0.7'
158
142
  description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
159
143
  in Ruby.
160
144
  email:
@@ -163,27 +147,7 @@ executables: []
163
147
  extensions: []
164
148
  extra_rdoc_files: []
165
149
  files:
166
- - lib/config/locales/bg.yml
167
- - lib/config/locales/de.yml
168
- - lib/config/locales/en-GB.yml
169
150
  - lib/config/locales/en.yml
170
- - lib/config/locales/es.yml
171
- - lib/config/locales/fr.yml
172
- - lib/config/locales/hi.yml
173
- - lib/config/locales/hu.yml
174
- - lib/config/locales/id.yml
175
- - lib/config/locales/it.yml
176
- - lib/config/locales/ja.yml
177
- - lib/config/locales/kr.yml
178
- - lib/config/locales/nl.yml
179
- - lib/config/locales/pl.yml
180
- - lib/config/locales/pt-BR.yml
181
- - lib/config/locales/pt.yml
182
- - lib/config/locales/ro.yml
183
- - lib/config/locales/ru.yml
184
- - lib/config/locales/sv.yml
185
- - lib/config/locales/vi.yml
186
- - lib/config/locales/zh-CN.yml
187
151
  - lib/mongoid/atomic/modifiers.rb
188
152
  - lib/mongoid/atomic/paths/embedded/many.rb
189
153
  - lib/mongoid/atomic/paths/embedded/one.rb
@@ -192,121 +156,111 @@ files:
192
156
  - lib/mongoid/atomic/paths.rb
193
157
  - lib/mongoid/atomic.rb
194
158
  - lib/mongoid/attributes/processing.rb
159
+ - lib/mongoid/attributes/readonly.rb
195
160
  - lib/mongoid/attributes.rb
196
161
  - lib/mongoid/callbacks.rb
197
- - lib/mongoid/collection.rb
198
- - lib/mongoid/collections/master.rb
199
- - lib/mongoid/collections/operations.rb
200
- - lib/mongoid/collections/retry.rb
201
- - lib/mongoid/collections.rb
202
162
  - lib/mongoid/components.rb
203
- - lib/mongoid/config/database.rb
204
163
  - lib/mongoid/config/environment.rb
164
+ - lib/mongoid/config/inflections.rb
205
165
  - lib/mongoid/config/options.rb
206
- - lib/mongoid/config/replset_database.rb
166
+ - lib/mongoid/config/validators/option.rb
167
+ - lib/mongoid/config/validators/session.rb
168
+ - lib/mongoid/config/validators.rb
207
169
  - lib/mongoid/config.rb
208
- - lib/mongoid/contexts/enumerable/sort.rb
209
- - lib/mongoid/contexts/enumerable.rb
210
- - lib/mongoid/contexts/mongo.rb
211
- - lib/mongoid/contexts.rb
170
+ - lib/mongoid/contextual/aggregable/memory.rb
171
+ - lib/mongoid/contextual/aggregable/mongo.rb
172
+ - lib/mongoid/contextual/atomic.rb
173
+ - lib/mongoid/contextual/command.rb
174
+ - lib/mongoid/contextual/find_and_modify.rb
175
+ - lib/mongoid/contextual/map_reduce.rb
176
+ - lib/mongoid/contextual/memory.rb
177
+ - lib/mongoid/contextual/mongo.rb
178
+ - lib/mongoid/contextual.rb
212
179
  - lib/mongoid/copyable.rb
213
180
  - lib/mongoid/criteria.rb
214
- - lib/mongoid/criterion/builder.rb
215
- - lib/mongoid/criterion/complex.rb
216
- - lib/mongoid/criterion/creational.rb
217
- - lib/mongoid/criterion/exclusion.rb
218
- - lib/mongoid/criterion/inclusion.rb
219
181
  - lib/mongoid/criterion/inspection.rb
220
- - lib/mongoid/criterion/optional.rb
221
182
  - lib/mongoid/criterion/scoping.rb
222
- - lib/mongoid/criterion/selector.rb
223
- - lib/mongoid/cursor.rb
224
- - lib/mongoid/default_scope.rb
225
183
  - lib/mongoid/dirty.rb
226
184
  - lib/mongoid/document.rb
185
+ - lib/mongoid/errors/ambiguous_relationship.rb
227
186
  - lib/mongoid/errors/callback.rb
187
+ - lib/mongoid/errors/delete_restriction.rb
228
188
  - lib/mongoid/errors/document_not_found.rb
229
189
  - lib/mongoid/errors/eager_load.rb
230
190
  - lib/mongoid/errors/invalid_collection.rb
191
+ - lib/mongoid/errors/invalid_config_option.rb
231
192
  - lib/mongoid/errors/invalid_database.rb
232
193
  - lib/mongoid/errors/invalid_field.rb
194
+ - lib/mongoid/errors/invalid_field_option.rb
233
195
  - lib/mongoid/errors/invalid_find.rb
196
+ - lib/mongoid/errors/invalid_index.rb
234
197
  - lib/mongoid/errors/invalid_options.rb
198
+ - lib/mongoid/errors/invalid_scope.rb
199
+ - lib/mongoid/errors/invalid_set_polymorphic_relation.rb
200
+ - lib/mongoid/errors/invalid_storage_options.rb
235
201
  - lib/mongoid/errors/invalid_time.rb
236
- - lib/mongoid/errors/invalid_type.rb
202
+ - lib/mongoid/errors/inverse_not_found.rb
237
203
  - lib/mongoid/errors/mixed_relations.rb
204
+ - lib/mongoid/errors/mixed_session_configuration.rb
238
205
  - lib/mongoid/errors/mongoid_error.rb
206
+ - lib/mongoid/errors/nested_attributes_metadata_not_found.rb
207
+ - lib/mongoid/errors/no_default_session.rb
239
208
  - lib/mongoid/errors/no_environment.rb
209
+ - lib/mongoid/errors/no_map_reduce_output.rb
210
+ - lib/mongoid/errors/no_metadata.rb
211
+ - lib/mongoid/errors/no_parent.rb
212
+ - lib/mongoid/errors/no_session_config.rb
213
+ - lib/mongoid/errors/no_session_database.rb
214
+ - lib/mongoid/errors/no_session_hosts.rb
215
+ - lib/mongoid/errors/no_sessions_config.rb
216
+ - lib/mongoid/errors/readonly_attribute.rb
240
217
  - lib/mongoid/errors/scope_overwrite.rb
241
218
  - lib/mongoid/errors/too_many_nested_attribute_records.rb
219
+ - lib/mongoid/errors/unknown_attribute.rb
242
220
  - lib/mongoid/errors/unsaved_document.rb
221
+ - lib/mongoid/errors/unsupported_javascript.rb
243
222
  - lib/mongoid/errors/unsupported_version.rb
244
223
  - lib/mongoid/errors/validations.rb
224
+ - lib/mongoid/errors/versioning_not_on_root.rb
245
225
  - lib/mongoid/errors.rb
246
- - lib/mongoid/extensions/array/deep_copy.rb
247
- - lib/mongoid/extensions/array/deletion.rb
248
- - lib/mongoid/extensions/false_class/equality.rb
249
- - lib/mongoid/extensions/hash/criteria_helpers.rb
250
- - lib/mongoid/extensions/hash/deep_copy.rb
251
- - lib/mongoid/extensions/hash/scoping.rb
252
- - lib/mongoid/extensions/integer/checks.rb
253
- - lib/mongoid/extensions/nil/collectionization.rb
254
- - lib/mongoid/extensions/object/checks.rb
255
- - lib/mongoid/extensions/object/deep_copy.rb
256
- - lib/mongoid/extensions/object/reflections.rb
257
- - lib/mongoid/extensions/object/substitutable.rb
258
- - lib/mongoid/extensions/object/yoda.rb
259
- - lib/mongoid/extensions/object_id/conversions.rb
260
- - lib/mongoid/extensions/proc/scoping.rb
261
- - lib/mongoid/extensions/string/checks.rb
262
- - lib/mongoid/extensions/string/conversions.rb
263
- - lib/mongoid/extensions/string/inflections.rb
264
- - lib/mongoid/extensions/symbol/checks.rb
265
- - lib/mongoid/extensions/symbol/inflections.rb
266
- - lib/mongoid/extensions/true_class/equality.rb
226
+ - lib/mongoid/evolvable.rb
227
+ - lib/mongoid/extensions/array.rb
228
+ - lib/mongoid/extensions/big_decimal.rb
229
+ - lib/mongoid/extensions/boolean.rb
230
+ - lib/mongoid/extensions/date.rb
231
+ - lib/mongoid/extensions/date_time.rb
232
+ - lib/mongoid/extensions/false_class.rb
233
+ - lib/mongoid/extensions/float.rb
234
+ - lib/mongoid/extensions/hash.rb
235
+ - lib/mongoid/extensions/integer.rb
236
+ - lib/mongoid/extensions/module.rb
237
+ - lib/mongoid/extensions/nil_class.rb
238
+ - lib/mongoid/extensions/object.rb
239
+ - lib/mongoid/extensions/object_id.rb
240
+ - lib/mongoid/extensions/range.rb
241
+ - lib/mongoid/extensions/regexp.rb
242
+ - lib/mongoid/extensions/set.rb
243
+ - lib/mongoid/extensions/string.rb
244
+ - lib/mongoid/extensions/symbol.rb
245
+ - lib/mongoid/extensions/time.rb
246
+ - lib/mongoid/extensions/time_with_zone.rb
247
+ - lib/mongoid/extensions/true_class.rb
267
248
  - lib/mongoid/extensions.rb
268
- - lib/mongoid/extras.rb
269
249
  - lib/mongoid/factory.rb
270
- - lib/mongoid/fields/internal/array.rb
271
- - lib/mongoid/fields/internal/big_decimal.rb
272
- - lib/mongoid/fields/internal/bignum.rb
273
- - lib/mongoid/fields/internal/binary.rb
274
- - lib/mongoid/fields/internal/boolean.rb
275
- - lib/mongoid/fields/internal/date.rb
276
- - lib/mongoid/fields/internal/date_time.rb
277
- - lib/mongoid/fields/internal/false_class.rb
278
- - lib/mongoid/fields/internal/fixnum.rb
279
- - lib/mongoid/fields/internal/float.rb
280
- - lib/mongoid/fields/internal/foreign_keys/array.rb
281
- - lib/mongoid/fields/internal/foreign_keys/object.rb
282
- - lib/mongoid/fields/internal/hash.rb
283
- - lib/mongoid/fields/internal/integer.rb
284
- - lib/mongoid/fields/internal/localized.rb
285
- - lib/mongoid/fields/internal/nil_class.rb
286
- - lib/mongoid/fields/internal/object.rb
287
- - lib/mongoid/fields/internal/object_id.rb
288
- - lib/mongoid/fields/internal/range.rb
289
- - lib/mongoid/fields/internal/set.rb
290
- - lib/mongoid/fields/internal/string.rb
291
- - lib/mongoid/fields/internal/symbol.rb
292
- - lib/mongoid/fields/internal/time.rb
293
- - lib/mongoid/fields/internal/time_with_zone.rb
294
- - lib/mongoid/fields/internal/timekeeping.rb
295
- - lib/mongoid/fields/internal/true_class.rb
296
- - lib/mongoid/fields/mappings.rb
297
- - lib/mongoid/fields/serializable.rb
250
+ - lib/mongoid/fields/foreign_key.rb
251
+ - lib/mongoid/fields/localized.rb
252
+ - lib/mongoid/fields/standard.rb
253
+ - lib/mongoid/fields/validators/macro.rb
254
+ - lib/mongoid/fields/validators.rb
298
255
  - lib/mongoid/fields.rb
299
256
  - lib/mongoid/finders.rb
300
257
  - lib/mongoid/hierarchy.rb
301
- - lib/mongoid/identity.rb
302
258
  - lib/mongoid/identity_map.rb
259
+ - lib/mongoid/indexes/validators/options.rb
303
260
  - lib/mongoid/indexes.rb
304
261
  - lib/mongoid/inspection.rb
305
- - lib/mongoid/javascript/functions.yml
306
- - lib/mongoid/javascript.rb
307
262
  - lib/mongoid/json.rb
308
- - lib/mongoid/keys.rb
309
- - lib/mongoid/logger.rb
263
+ - lib/mongoid/loggable.rb
310
264
  - lib/mongoid/matchers/all.rb
311
265
  - lib/mongoid/matchers/and.rb
312
266
  - lib/mongoid/matchers/default.rb
@@ -322,9 +276,7 @@ files:
322
276
  - lib/mongoid/matchers/size.rb
323
277
  - lib/mongoid/matchers/strategies.rb
324
278
  - lib/mongoid/matchers.rb
325
- - lib/mongoid/multi_database.rb
326
279
  - lib/mongoid/multi_parameter_attributes.rb
327
- - lib/mongoid/named_scope.rb
328
280
  - lib/mongoid/nested_attributes.rb
329
281
  - lib/mongoid/observer.rb
330
282
  - lib/mongoid/paranoia.rb
@@ -349,7 +301,9 @@ files:
349
301
  - lib/mongoid/persistence/operations/insert.rb
350
302
  - lib/mongoid/persistence/operations/remove.rb
351
303
  - lib/mongoid/persistence/operations/update.rb
304
+ - lib/mongoid/persistence/operations/upsert.rb
352
305
  - lib/mongoid/persistence/operations.rb
306
+ - lib/mongoid/persistence/upsertion.rb
353
307
  - lib/mongoid/persistence.rb
354
308
  - lib/mongoid/railtie.rb
355
309
  - lib/mongoid/railties/database.rake
@@ -379,16 +333,12 @@ files:
379
333
  - lib/mongoid/relations/cascading/delete.rb
380
334
  - lib/mongoid/relations/cascading/destroy.rb
381
335
  - lib/mongoid/relations/cascading/nullify.rb
336
+ - lib/mongoid/relations/cascading/restrict.rb
382
337
  - lib/mongoid/relations/cascading.rb
383
338
  - lib/mongoid/relations/constraint.rb
384
339
  - lib/mongoid/relations/conversions.rb
385
340
  - lib/mongoid/relations/cyclic.rb
386
- - lib/mongoid/relations/embedded/atomic/operation.rb
387
- - lib/mongoid/relations/embedded/atomic/pull.rb
388
- - lib/mongoid/relations/embedded/atomic/push_all.rb
389
- - lib/mongoid/relations/embedded/atomic/set.rb
390
- - lib/mongoid/relations/embedded/atomic/unset.rb
391
- - lib/mongoid/relations/embedded/atomic.rb
341
+ - lib/mongoid/relations/embedded/batchable.rb
392
342
  - lib/mongoid/relations/embedded/in.rb
393
343
  - lib/mongoid/relations/embedded/many.rb
394
344
  - lib/mongoid/relations/embedded/one.rb
@@ -400,8 +350,6 @@ files:
400
350
  - lib/mongoid/relations/options.rb
401
351
  - lib/mongoid/relations/polymorphic.rb
402
352
  - lib/mongoid/relations/proxy.rb
403
- - lib/mongoid/relations/referenced/batch/insert.rb
404
- - lib/mongoid/relations/referenced/batch.rb
405
353
  - lib/mongoid/relations/referenced/in.rb
406
354
  - lib/mongoid/relations/referenced/many.rb
407
355
  - lib/mongoid/relations/referenced/many_to_many.rb
@@ -410,19 +358,26 @@ files:
410
358
  - lib/mongoid/relations/synchronization.rb
411
359
  - lib/mongoid/relations/targets/enumerable.rb
412
360
  - lib/mongoid/relations/targets.rb
361
+ - lib/mongoid/relations/touchable.rb
413
362
  - lib/mongoid/relations.rb
414
363
  - lib/mongoid/reloading.rb
415
- - lib/mongoid/safety.rb
416
- - lib/mongoid/scope.rb
364
+ - lib/mongoid/scoping.rb
417
365
  - lib/mongoid/serialization.rb
366
+ - lib/mongoid/sessions/factory.rb
367
+ - lib/mongoid/sessions/mongo_uri.rb
368
+ - lib/mongoid/sessions/validators/storage.rb
369
+ - lib/mongoid/sessions/validators.rb
370
+ - lib/mongoid/sessions.rb
418
371
  - lib/mongoid/sharding.rb
419
372
  - lib/mongoid/state.rb
420
373
  - lib/mongoid/threaded/lifecycle.rb
374
+ - lib/mongoid/threaded/sessions.rb
421
375
  - lib/mongoid/threaded.rb
422
376
  - lib/mongoid/timestamps/created.rb
423
377
  - lib/mongoid/timestamps/timeless.rb
424
378
  - lib/mongoid/timestamps/updated.rb
425
379
  - lib/mongoid/timestamps.rb
380
+ - lib/mongoid/unit_of_work.rb
426
381
  - lib/mongoid/validations/associated.rb
427
382
  - lib/mongoid/validations/format.rb
428
383
  - lib/mongoid/validations/length.rb
@@ -461,7 +416,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
461
416
  version: '0'
462
417
  segments:
463
418
  - 0
464
- hash: 2758014138080710719
419
+ hash: 1324901210162009503
465
420
  required_rubygems_version: !ruby/object:Gem::Requirement
466
421
  none: false
467
422
  requirements:
@@ -1,61 +0,0 @@
1
- bg:
2
- mongoid:
3
- errors:
4
- messages:
5
- taken:
6
- е вече заето
7
- callbacks:
8
- "Calling %{method} on %{klass} resulted in a false return from a callback."
9
- document_not_found:
10
- Не е намерен документ %{klass} с id(та) %{identifiers}.
11
- eager_load:
12
- "Eager loading :%{name} is not supported due to it being a many-to-many
13
- or polymorphic belongs_to relation."
14
- invalid_database:
15
- Базата данни трябва да е от тип Mnogo:DB, а не %{name}.
16
- invalid_time:
17
- "'%{value}' is not a valid Time."
18
- invalid_type:
19
- Полето е дефинирано като a(n) %{klass}, но се присвоява %{other}
20
- със стойност %{value}.
21
- invalid_options:
22
- "Invalid option :%{invalid} provided to relation :%{name}. Valid options
23
- are: %{valid}."
24
- unsupported_version:
25
- MongoDB %{version} не се подържа, моля ползвайте версия след %{mongo_version}.
26
- validations:
27
- Неуспешна валидация - %{errors} грешки.
28
- invalid_collection:
29
- Достъпа до колекцията за %{klass} не е разрешена, тъй като
30
- тя е вложен документ, можете да я достъпите през главният документ
31
- invalid_field:
32
- Дефинирането на поле с име %{name} не е разрешено. Не дефинирайте
33
- полета, които са в конфликт с Mongoid вътрешните атрибути.
34
- Можете да ги видите с Document#instance_methods
35
- too_many_nested_attribute_records:
36
- Присвояването на вложини атрибути за %{association} е
37
- ограничено до %{limit} записа
38
- embedded_in_must_have_inverse_of:
39
- Опциите на embedded_in асоциацията трябва да съдържат inverse_of.
40
- dependent_only_references_one_or_many:
41
- Опцията dependent => destroy|delete, която е посочена е
42
- валидна само за references_one или references_many връзки
43
- association_cant_have_inverse_of:
44
- Дефинирането на inverse_of за тази асоциация не е позволено.
45
- Използвайте тази опция само за embedded_in или
46
- references_many като масив.
47
- calling_document_find_with_nil_is_invalid:
48
- Извикването на Document#find със nil е невалидно
49
- unsaved_document:
50
- You cannot call create or create! through a relational association
51
- relation (%{document}) who's parent (%{base}) is not already saved.
52
- mixed_relations:
53
- Referencing a(n) %{embedded} document from the %{root} document via a
54
- relational association is not allowed since the %{embedded} is embedded.
55
- no_environment:
56
- "Mongoid attempted to find the appropriate environment but no Rails.env,
57
- Sinatra::Base.environment, or RACK_ENV could be found."
58
- scope_overwrite:
59
- "Cannot create scope :%{scope_name}, because of existing method
60
- %{model_name}.%{scope_name}."
61
- blank_on_locale: "can't be blank in %{in_locale}"