mongoid 2.0.2 → 2.1.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 (240) hide show
  1. data/README.rdoc +3 -1
  2. data/Rakefile +3 -2
  3. data/lib/config/locales/bg.yml +6 -0
  4. data/lib/config/locales/de.yml +6 -0
  5. data/lib/config/locales/en-GB.yml +48 -0
  6. data/lib/config/locales/en.yml +6 -3
  7. data/lib/config/locales/es.yml +6 -0
  8. data/lib/config/locales/fr.yml +6 -0
  9. data/lib/config/locales/hi.yml +39 -0
  10. data/lib/config/locales/hu.yml +13 -7
  11. data/lib/config/locales/id.yml +3 -0
  12. data/lib/config/locales/it.yml +7 -1
  13. data/lib/config/locales/ja.yml +4 -1
  14. data/lib/config/locales/kr.yml +9 -34
  15. data/lib/config/locales/nl.yml +6 -0
  16. data/lib/config/locales/pl.yml +6 -0
  17. data/lib/config/locales/pt-BR.yml +6 -0
  18. data/lib/config/locales/pt.yml +6 -0
  19. data/lib/config/locales/ro.yml +6 -0
  20. data/lib/config/locales/ru.yml +6 -0
  21. data/lib/config/locales/sv.yml +6 -0
  22. data/lib/config/locales/vi.yml +3 -0
  23. data/lib/config/locales/zh-CN.yml +6 -0
  24. data/lib/mongoid.rb +51 -45
  25. data/lib/mongoid/atomic.rb +145 -0
  26. data/lib/mongoid/atomic/modifiers.rb +109 -0
  27. data/lib/mongoid/atomic/paths.rb +3 -0
  28. data/lib/mongoid/atomic/paths/embedded.rb +43 -0
  29. data/lib/mongoid/atomic/paths/embedded/many.rb +44 -0
  30. data/lib/mongoid/atomic/paths/embedded/one.rb +43 -0
  31. data/lib/mongoid/atomic/paths/root.rb +40 -0
  32. data/lib/mongoid/attributes.rb +12 -23
  33. data/lib/mongoid/attributes/processing.rb +5 -5
  34. data/lib/mongoid/callbacks.rb +2 -0
  35. data/lib/mongoid/collection.rb +12 -59
  36. data/lib/mongoid/collections.rb +23 -20
  37. data/lib/mongoid/collections/master.rb +6 -4
  38. data/lib/mongoid/collections/operations.rb +1 -0
  39. data/lib/mongoid/collections/retry.rb +7 -0
  40. data/lib/mongoid/components.rb +2 -2
  41. data/lib/mongoid/config.rb +42 -55
  42. data/lib/mongoid/config/database.rb +6 -2
  43. data/lib/mongoid/config/replset_database.rb +7 -3
  44. data/lib/mongoid/contexts.rb +9 -3
  45. data/lib/mongoid/contexts/enumerable.rb +7 -3
  46. data/lib/mongoid/contexts/mongo.rb +139 -101
  47. data/lib/mongoid/criteria.rb +86 -69
  48. data/lib/mongoid/criterion/complex.rb +32 -5
  49. data/lib/mongoid/criterion/inclusion.rb +4 -2
  50. data/lib/mongoid/criterion/optional.rb +111 -86
  51. data/lib/mongoid/criterion/selector.rb +8 -4
  52. data/lib/mongoid/cursor.rb +27 -27
  53. data/lib/mongoid/dirty.rb +54 -214
  54. data/lib/mongoid/document.rb +37 -39
  55. data/lib/mongoid/errors/document_not_found.rb +3 -4
  56. data/lib/mongoid/errors/invalid_collection.rb +2 -3
  57. data/lib/mongoid/errors/invalid_database.rb +2 -3
  58. data/lib/mongoid/errors/invalid_field.rb +2 -3
  59. data/lib/mongoid/errors/invalid_options.rb +19 -7
  60. data/lib/mongoid/errors/invalid_type.rb +2 -3
  61. data/lib/mongoid/errors/mongoid_error.rb +5 -6
  62. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +2 -3
  63. data/lib/mongoid/errors/unsupported_version.rb +2 -3
  64. data/lib/mongoid/errors/validations.rb +2 -3
  65. data/lib/mongoid/extensions.rb +8 -62
  66. data/lib/mongoid/extensions/array/deletion.rb +29 -0
  67. data/lib/mongoid/extensions/false_class/equality.rb +14 -1
  68. data/lib/mongoid/extensions/hash/criteria_helpers.rb +21 -10
  69. data/lib/mongoid/extensions/hash/scoping.rb +14 -1
  70. data/lib/mongoid/extensions/nil/collectionization.rb +12 -1
  71. data/lib/mongoid/extensions/object/reflections.rb +33 -2
  72. data/lib/mongoid/extensions/object_id/conversions.rb +2 -36
  73. data/lib/mongoid/extensions/proc/scoping.rb +14 -1
  74. data/lib/mongoid/extensions/string/conversions.rb +4 -16
  75. data/lib/mongoid/extensions/string/inflections.rb +35 -14
  76. data/lib/mongoid/extensions/symbol/inflections.rb +38 -12
  77. data/lib/mongoid/extensions/true_class/equality.rb +14 -1
  78. data/lib/mongoid/extras.rb +11 -30
  79. data/lib/mongoid/factory.rb +1 -1
  80. data/lib/mongoid/fields.rb +121 -29
  81. data/lib/mongoid/fields/mappings.rb +36 -0
  82. data/lib/mongoid/fields/serializable.rb +131 -0
  83. data/lib/mongoid/fields/serializable/array.rb +64 -0
  84. data/lib/mongoid/fields/serializable/big_decimal.rb +42 -0
  85. data/lib/mongoid/fields/serializable/bignum.rb +10 -0
  86. data/lib/mongoid/fields/serializable/binary.rb +11 -0
  87. data/lib/mongoid/fields/serializable/boolean.rb +44 -0
  88. data/lib/mongoid/fields/serializable/date.rb +51 -0
  89. data/lib/mongoid/fields/serializable/date_time.rb +28 -0
  90. data/lib/mongoid/fields/serializable/fixnum.rb +10 -0
  91. data/lib/mongoid/fields/serializable/float.rb +33 -0
  92. data/lib/mongoid/fields/serializable/foreign_keys/array.rb +56 -0
  93. data/lib/mongoid/fields/serializable/foreign_keys/object.rb +43 -0
  94. data/lib/mongoid/fields/serializable/hash.rb +25 -0
  95. data/lib/mongoid/fields/serializable/integer.rb +33 -0
  96. data/lib/mongoid/fields/serializable/object.rb +11 -0
  97. data/lib/mongoid/fields/serializable/object_id.rb +32 -0
  98. data/lib/mongoid/fields/serializable/range.rb +42 -0
  99. data/lib/mongoid/fields/serializable/set.rb +42 -0
  100. data/lib/mongoid/fields/serializable/string.rb +28 -0
  101. data/lib/mongoid/fields/serializable/symbol.rb +28 -0
  102. data/lib/mongoid/fields/serializable/time.rb +12 -0
  103. data/lib/mongoid/fields/serializable/time_with_zone.rb +12 -0
  104. data/lib/mongoid/fields/serializable/timekeeping.rb +102 -0
  105. data/lib/mongoid/finders.rb +61 -37
  106. data/lib/mongoid/hierarchy.rb +43 -8
  107. data/lib/mongoid/identity_map.rb +106 -0
  108. data/lib/mongoid/indexes.rb +17 -1
  109. data/lib/mongoid/javascript.rb +2 -3
  110. data/lib/mongoid/keys.rb +10 -21
  111. data/lib/mongoid/logger.rb +22 -1
  112. data/lib/mongoid/matchers/all.rb +10 -0
  113. data/lib/mongoid/matchers/default.rb +1 -1
  114. data/lib/mongoid/matchers/exists.rb +10 -0
  115. data/lib/mongoid/matchers/gt.rb +10 -0
  116. data/lib/mongoid/matchers/gte.rb +10 -0
  117. data/lib/mongoid/matchers/in.rb +10 -0
  118. data/lib/mongoid/matchers/lt.rb +10 -0
  119. data/lib/mongoid/matchers/lte.rb +10 -0
  120. data/lib/mongoid/matchers/ne.rb +10 -0
  121. data/lib/mongoid/matchers/nin.rb +10 -0
  122. data/lib/mongoid/matchers/or.rb +7 -4
  123. data/lib/mongoid/matchers/size.rb +10 -0
  124. data/lib/mongoid/multi_database.rb +26 -6
  125. data/lib/mongoid/multi_parameter_attributes.rb +40 -17
  126. data/lib/mongoid/named_scope.rb +1 -2
  127. data/lib/mongoid/nested_attributes.rb +4 -1
  128. data/lib/mongoid/observer.rb +108 -5
  129. data/lib/mongoid/paranoia.rb +26 -26
  130. data/lib/mongoid/persistence.rb +15 -21
  131. data/lib/mongoid/persistence/atomic.rb +135 -0
  132. data/lib/mongoid/persistence/atomic/add_to_set.rb +11 -8
  133. data/lib/mongoid/persistence/atomic/bit.rb +37 -0
  134. data/lib/mongoid/persistence/atomic/inc.rb +9 -6
  135. data/lib/mongoid/persistence/atomic/operation.rb +48 -7
  136. data/lib/mongoid/persistence/atomic/pop.rb +34 -0
  137. data/lib/mongoid/persistence/atomic/pull.rb +34 -0
  138. data/lib/mongoid/persistence/atomic/pull_all.rb +10 -9
  139. data/lib/mongoid/persistence/atomic/push.rb +8 -5
  140. data/lib/mongoid/persistence/atomic/push_all.rb +31 -0
  141. data/lib/mongoid/persistence/atomic/rename.rb +31 -0
  142. data/lib/mongoid/persistence/atomic/set.rb +30 -0
  143. data/lib/mongoid/persistence/atomic/unset.rb +28 -0
  144. data/lib/mongoid/persistence/deletion.rb +32 -0
  145. data/lib/mongoid/persistence/insertion.rb +41 -0
  146. data/lib/mongoid/persistence/modification.rb +37 -0
  147. data/lib/mongoid/persistence/operations.rb +214 -0
  148. data/lib/mongoid/persistence/operations/embedded/insert.rb +42 -0
  149. data/lib/mongoid/persistence/operations/embedded/remove.rb +40 -0
  150. data/lib/mongoid/persistence/operations/insert.rb +34 -0
  151. data/lib/mongoid/persistence/operations/remove.rb +33 -0
  152. data/lib/mongoid/persistence/operations/update.rb +53 -0
  153. data/lib/mongoid/railtie.rb +21 -33
  154. data/lib/mongoid/railties/database.rake +12 -12
  155. data/lib/mongoid/relations.rb +9 -5
  156. data/lib/mongoid/relations/accessors.rb +15 -36
  157. data/lib/mongoid/relations/auto_save.rb +2 -2
  158. data/lib/mongoid/relations/binding.rb +28 -1
  159. data/lib/mongoid/relations/bindings/embedded/in.rb +17 -30
  160. data/lib/mongoid/relations/bindings/embedded/many.rb +16 -21
  161. data/lib/mongoid/relations/bindings/embedded/one.rb +11 -16
  162. data/lib/mongoid/relations/bindings/referenced/in.rb +31 -32
  163. data/lib/mongoid/relations/bindings/referenced/many.rb +19 -61
  164. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +15 -63
  165. data/lib/mongoid/relations/bindings/referenced/one.rb +18 -26
  166. data/lib/mongoid/relations/builder.rb +4 -2
  167. data/lib/mongoid/relations/builders.rb +21 -2
  168. data/lib/mongoid/relations/builders/embedded/in.rb +5 -1
  169. data/lib/mongoid/relations/builders/embedded/many.rb +12 -4
  170. data/lib/mongoid/relations/builders/embedded/one.rb +5 -1
  171. data/lib/mongoid/relations/builders/nested_attributes/many.rb +2 -2
  172. data/lib/mongoid/relations/builders/nested_attributes/one.rb +1 -1
  173. data/lib/mongoid/relations/builders/referenced/in.rb +2 -5
  174. data/lib/mongoid/relations/builders/referenced/many.rb +2 -3
  175. data/lib/mongoid/relations/builders/referenced/many_to_many.rb +14 -5
  176. data/lib/mongoid/relations/builders/referenced/one.rb +2 -3
  177. data/lib/mongoid/relations/embedded/atomic.rb +2 -2
  178. data/lib/mongoid/relations/embedded/in.rb +72 -41
  179. data/lib/mongoid/relations/embedded/many.rb +116 -120
  180. data/lib/mongoid/relations/embedded/one.rb +59 -41
  181. data/lib/mongoid/relations/embedded/sort.rb +31 -0
  182. data/lib/mongoid/relations/macros.rb +28 -24
  183. data/lib/mongoid/relations/many.rb +10 -103
  184. data/lib/mongoid/relations/metadata.rb +335 -38
  185. data/lib/mongoid/relations/one.rb +7 -32
  186. data/lib/mongoid/relations/options.rb +47 -0
  187. data/lib/mongoid/relations/proxy.rb +29 -28
  188. data/lib/mongoid/relations/referenced/batch.rb +2 -3
  189. data/lib/mongoid/relations/referenced/in.rb +66 -53
  190. data/lib/mongoid/relations/referenced/many.rb +216 -143
  191. data/lib/mongoid/relations/referenced/many_to_many.rb +132 -163
  192. data/lib/mongoid/relations/referenced/one.rb +76 -58
  193. data/lib/mongoid/relations/synchronization.rb +113 -0
  194. data/lib/mongoid/relations/targets.rb +2 -0
  195. data/lib/mongoid/relations/targets/enumerable.rb +329 -0
  196. data/lib/mongoid/safety.rb +24 -156
  197. data/lib/mongoid/serialization.rb +21 -0
  198. data/lib/mongoid/state.rb +34 -0
  199. data/lib/mongoid/threaded.rb +175 -0
  200. data/lib/mongoid/timestamps/updated.rb +1 -1
  201. data/lib/mongoid/validations.rb +3 -7
  202. data/lib/mongoid/version.rb +1 -1
  203. data/lib/mongoid/versioning.rb +61 -7
  204. data/lib/rack/mongoid.rb +2 -0
  205. data/lib/rack/mongoid/middleware/identity_map.rb +38 -0
  206. data/lib/rails/generators/mongoid/model/model_generator.rb +1 -1
  207. data/lib/rails/generators/mongoid/model/templates/{model.rb → model.rb.tt} +0 -0
  208. data/lib/rails/generators/mongoid/observer/observer_generator.rb +1 -1
  209. data/lib/rails/generators/mongoid/observer/templates/{observer.rb → observer.rb.tt} +0 -0
  210. data/lib/rails/mongoid.rb +17 -17
  211. metadata +136 -102
  212. data/lib/mongoid/atomicity.rb +0 -111
  213. data/lib/mongoid/collections/cyclic_iterator.rb +0 -34
  214. data/lib/mongoid/collections/slaves.rb +0 -61
  215. data/lib/mongoid/extensions/array/conversions.rb +0 -23
  216. data/lib/mongoid/extensions/array/parentization.rb +0 -13
  217. data/lib/mongoid/extensions/big_decimal/conversions.rb +0 -19
  218. data/lib/mongoid/extensions/binary/conversions.rb +0 -17
  219. data/lib/mongoid/extensions/boolean/conversions.rb +0 -27
  220. data/lib/mongoid/extensions/date/conversions.rb +0 -25
  221. data/lib/mongoid/extensions/datetime/conversions.rb +0 -12
  222. data/lib/mongoid/extensions/float/conversions.rb +0 -20
  223. data/lib/mongoid/extensions/hash/conversions.rb +0 -19
  224. data/lib/mongoid/extensions/integer/conversions.rb +0 -20
  225. data/lib/mongoid/extensions/object/conversions.rb +0 -25
  226. data/lib/mongoid/extensions/range/conversions.rb +0 -25
  227. data/lib/mongoid/extensions/set/conversions.rb +0 -20
  228. data/lib/mongoid/extensions/symbol/conversions.rb +0 -21
  229. data/lib/mongoid/extensions/time_conversions.rb +0 -38
  230. data/lib/mongoid/field.rb +0 -162
  231. data/lib/mongoid/paths.rb +0 -61
  232. data/lib/mongoid/persistence/command.rb +0 -71
  233. data/lib/mongoid/persistence/insert.rb +0 -53
  234. data/lib/mongoid/persistence/insert_embedded.rb +0 -43
  235. data/lib/mongoid/persistence/remove.rb +0 -44
  236. data/lib/mongoid/persistence/remove_all.rb +0 -40
  237. data/lib/mongoid/persistence/remove_embedded.rb +0 -48
  238. data/lib/mongoid/persistence/update.rb +0 -77
  239. data/lib/mongoid/safe.rb +0 -23
  240. data/lib/mongoid/validations/referenced.rb +0 -58
@@ -8,7 +8,7 @@ module Mongoid #:nodoc:
8
8
  check_class_collision :suffix => "Observer"
9
9
 
10
10
  def create_observer_file
11
- template 'observer.rb', File.join('app/models', class_path, "#{file_name}_observer.rb")
11
+ template 'observer.rb.tt', File.join('app/models', class_path, "#{file_name}_observer.rb")
12
12
  end
13
13
 
14
14
  hook_for :test_framework
@@ -3,23 +3,6 @@ module Rails #:nodoc:
3
3
  module Mongoid #:nodoc:
4
4
  extend self
5
5
 
6
- # Use the application configuration to get every model and require it, so
7
- # that indexing and inheritance work in both development and production
8
- # with the same results.
9
- #
10
- # @example Load all the application models.
11
- # Rails::Mongoid.load_models(app)
12
- #
13
- # @param [ Application ] app The rails application.
14
- def load_models(app)
15
- return unless ::Mongoid.preload_models
16
- app.config.paths["app/models"].each do |path|
17
- Dir.glob("#{path}/**/*.rb").sort.each do |file|
18
- load_model(file.gsub("#{path}/" , "").gsub(".rb", ""))
19
- end
20
- end
21
- end
22
-
23
6
  # Recursive function to create all the indexes for the model, then
24
7
  # potentially and subclass of the model since both are still root
25
8
  # documents in the hierarchy.
@@ -40,6 +23,23 @@ module Rails #:nodoc:
40
23
  end
41
24
  end
42
25
 
26
+ # Use the application configuration to get every model and require it, so
27
+ # that indexing and inheritance work in both development and production
28
+ # with the same results.
29
+ #
30
+ # @example Load all the application models.
31
+ # Rails::Mongoid.load_models(app)
32
+ #
33
+ # @param [ Application ] app The rails application.
34
+ def load_models(app)
35
+ return unless ::Mongoid.preload_models
36
+ app.config.paths["app/models"].each do |path|
37
+ Dir.glob("#{path}/**/*.rb").sort.each do |file|
38
+ load_model(file.gsub("#{path}/" , "").gsub(".rb", ""))
39
+ end
40
+ end
41
+ end
42
+
43
43
  private
44
44
 
45
45
  # I don't want to mock out kernel for unit testing purposes, so added this
metadata CHANGED
@@ -1,110 +1,120 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
4
5
  prerelease:
5
- version: 2.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Durran Jordan
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-22 00:00:00 +02:00
12
+ date: 2011-07-31 00:00:00.000000000 %:z
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: activemodel
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2151804880 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
19
+ requirements:
21
20
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: "3.0"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
24
23
  type: :runtime
25
24
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *2151804880
26
+ - !ruby/object:Gem::Dependency
28
27
  name: tzinfo
29
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &2151801860 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
30
+ requirements:
32
31
  - - ~>
33
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
34
33
  version: 0.3.22
35
34
  type: :runtime
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *2151801860
37
+ - !ruby/object:Gem::Dependency
39
38
  name: mongo
40
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &2151797660 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
41
+ requirements:
43
42
  - - ~>
44
- - !ruby/object:Gem::Version
45
- version: "1.3"
43
+ - !ruby/object:Gem::Version
44
+ version: '1.3'
46
45
  type: :runtime
47
46
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *2151797660
48
+ - !ruby/object:Gem::Dependency
49
+ name: rdoc
50
+ requirement: &2151795140 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 3.5.0
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *2151795140
59
+ - !ruby/object:Gem::Dependency
50
60
  name: bson_ext
51
- requirement: &id004 !ruby/object:Gem::Requirement
61
+ requirement: &2151787380 !ruby/object:Gem::Requirement
52
62
  none: false
53
- requirements:
63
+ requirements:
54
64
  - - ~>
55
- - !ruby/object:Gem::Version
56
- version: "1.3"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.3'
57
67
  type: :development
58
68
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *2151787380
70
+ - !ruby/object:Gem::Dependency
61
71
  name: mocha
62
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &2151781760 !ruby/object:Gem::Requirement
63
73
  none: false
64
- requirements:
65
- - - "="
66
- - !ruby/object:Gem::Version
74
+ requirements:
75
+ - - =
76
+ - !ruby/object:Gem::Version
67
77
  version: 0.9.8
68
78
  type: :development
69
79
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *2151781760
81
+ - !ruby/object:Gem::Dependency
72
82
  name: rspec
73
- requirement: &id006 !ruby/object:Gem::Requirement
83
+ requirement: &2151780340 !ruby/object:Gem::Requirement
74
84
  none: false
75
- requirements:
85
+ requirements:
76
86
  - - ~>
77
- - !ruby/object:Gem::Version
78
- version: "2.6"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.6'
79
89
  type: :development
80
90
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *2151780340
92
+ - !ruby/object:Gem::Dependency
83
93
  name: watchr
84
- requirement: &id007 !ruby/object:Gem::Requirement
94
+ requirement: &2151778340 !ruby/object:Gem::Requirement
85
95
  none: false
86
- requirements:
87
- - - "="
88
- - !ruby/object:Gem::Version
89
- version: "0.6"
96
+ requirements:
97
+ - - =
98
+ - !ruby/object:Gem::Version
99
+ version: '0.6'
90
100
  type: :development
91
101
  prerelease: false
92
- version_requirements: *id007
93
- description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written in Ruby.
94
- email:
102
+ version_requirements: *2151778340
103
+ description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
104
+ in Ruby.
105
+ email:
95
106
  - durran@gmail.com
96
107
  executables: []
97
-
98
108
  extensions: []
99
-
100
109
  extra_rdoc_files: []
101
-
102
- files:
110
+ files:
103
111
  - lib/config/locales/bg.yml
104
112
  - lib/config/locales/de.yml
113
+ - lib/config/locales/en-GB.yml
105
114
  - lib/config/locales/en.yml
106
115
  - lib/config/locales/es.yml
107
116
  - lib/config/locales/fr.yml
117
+ - lib/config/locales/hi.yml
108
118
  - lib/config/locales/hu.yml
109
119
  - lib/config/locales/id.yml
110
120
  - lib/config/locales/it.yml
@@ -119,16 +129,20 @@ files:
119
129
  - lib/config/locales/sv.yml
120
130
  - lib/config/locales/vi.yml
121
131
  - lib/config/locales/zh-CN.yml
122
- - lib/mongoid/atomicity.rb
132
+ - lib/mongoid/atomic/modifiers.rb
133
+ - lib/mongoid/atomic/paths/embedded/many.rb
134
+ - lib/mongoid/atomic/paths/embedded/one.rb
135
+ - lib/mongoid/atomic/paths/embedded.rb
136
+ - lib/mongoid/atomic/paths/root.rb
137
+ - lib/mongoid/atomic/paths.rb
138
+ - lib/mongoid/atomic.rb
123
139
  - lib/mongoid/attributes/processing.rb
124
140
  - lib/mongoid/attributes.rb
125
141
  - lib/mongoid/callbacks.rb
126
142
  - lib/mongoid/collection.rb
127
- - lib/mongoid/collections/cyclic_iterator.rb
128
143
  - lib/mongoid/collections/master.rb
129
144
  - lib/mongoid/collections/operations.rb
130
145
  - lib/mongoid/collections/retry.rb
131
- - lib/mongoid/collections/slaves.rb
132
146
  - lib/mongoid/collections.rb
133
147
  - lib/mongoid/components.rb
134
148
  - lib/mongoid/config/database.rb
@@ -166,42 +180,52 @@ files:
166
180
  - lib/mongoid/errors/unsupported_version.rb
167
181
  - lib/mongoid/errors/validations.rb
168
182
  - lib/mongoid/errors.rb
169
- - lib/mongoid/extensions/array/conversions.rb
170
- - lib/mongoid/extensions/array/parentization.rb
171
- - lib/mongoid/extensions/big_decimal/conversions.rb
172
- - lib/mongoid/extensions/binary/conversions.rb
173
- - lib/mongoid/extensions/boolean/conversions.rb
174
- - lib/mongoid/extensions/date/conversions.rb
175
- - lib/mongoid/extensions/datetime/conversions.rb
183
+ - lib/mongoid/extensions/array/deletion.rb
176
184
  - lib/mongoid/extensions/false_class/equality.rb
177
- - lib/mongoid/extensions/float/conversions.rb
178
- - lib/mongoid/extensions/hash/conversions.rb
179
185
  - lib/mongoid/extensions/hash/criteria_helpers.rb
180
186
  - lib/mongoid/extensions/hash/scoping.rb
181
- - lib/mongoid/extensions/integer/conversions.rb
182
187
  - lib/mongoid/extensions/nil/collectionization.rb
183
188
  - lib/mongoid/extensions/object/checks.rb
184
- - lib/mongoid/extensions/object/conversions.rb
185
189
  - lib/mongoid/extensions/object/reflections.rb
186
190
  - lib/mongoid/extensions/object/yoda.rb
187
191
  - lib/mongoid/extensions/object_id/conversions.rb
188
192
  - lib/mongoid/extensions/proc/scoping.rb
189
- - lib/mongoid/extensions/range/conversions.rb
190
- - lib/mongoid/extensions/set/conversions.rb
191
193
  - lib/mongoid/extensions/string/conversions.rb
192
194
  - lib/mongoid/extensions/string/inflections.rb
193
- - lib/mongoid/extensions/symbol/conversions.rb
194
195
  - lib/mongoid/extensions/symbol/inflections.rb
195
- - lib/mongoid/extensions/time_conversions.rb
196
196
  - lib/mongoid/extensions/true_class/equality.rb
197
197
  - lib/mongoid/extensions.rb
198
198
  - lib/mongoid/extras.rb
199
199
  - lib/mongoid/factory.rb
200
- - lib/mongoid/field.rb
200
+ - lib/mongoid/fields/mappings.rb
201
+ - lib/mongoid/fields/serializable/array.rb
202
+ - lib/mongoid/fields/serializable/big_decimal.rb
203
+ - lib/mongoid/fields/serializable/bignum.rb
204
+ - lib/mongoid/fields/serializable/binary.rb
205
+ - lib/mongoid/fields/serializable/boolean.rb
206
+ - lib/mongoid/fields/serializable/date.rb
207
+ - lib/mongoid/fields/serializable/date_time.rb
208
+ - lib/mongoid/fields/serializable/fixnum.rb
209
+ - lib/mongoid/fields/serializable/float.rb
210
+ - lib/mongoid/fields/serializable/foreign_keys/array.rb
211
+ - lib/mongoid/fields/serializable/foreign_keys/object.rb
212
+ - lib/mongoid/fields/serializable/hash.rb
213
+ - lib/mongoid/fields/serializable/integer.rb
214
+ - lib/mongoid/fields/serializable/object.rb
215
+ - lib/mongoid/fields/serializable/object_id.rb
216
+ - lib/mongoid/fields/serializable/range.rb
217
+ - lib/mongoid/fields/serializable/set.rb
218
+ - lib/mongoid/fields/serializable/string.rb
219
+ - lib/mongoid/fields/serializable/symbol.rb
220
+ - lib/mongoid/fields/serializable/time.rb
221
+ - lib/mongoid/fields/serializable/time_with_zone.rb
222
+ - lib/mongoid/fields/serializable/timekeeping.rb
223
+ - lib/mongoid/fields/serializable.rb
201
224
  - lib/mongoid/fields.rb
202
225
  - lib/mongoid/finders.rb
203
226
  - lib/mongoid/hierarchy.rb
204
227
  - lib/mongoid/identity.rb
228
+ - lib/mongoid/identity_map.rb
205
229
  - lib/mongoid/indexes.rb
206
230
  - lib/mongoid/inspection.rb
207
231
  - lib/mongoid/javascript/functions.yml
@@ -229,20 +253,28 @@ files:
229
253
  - lib/mongoid/nested_attributes.rb
230
254
  - lib/mongoid/observer.rb
231
255
  - lib/mongoid/paranoia.rb
232
- - lib/mongoid/paths.rb
233
256
  - lib/mongoid/persistence/atomic/add_to_set.rb
257
+ - lib/mongoid/persistence/atomic/bit.rb
234
258
  - lib/mongoid/persistence/atomic/inc.rb
235
259
  - lib/mongoid/persistence/atomic/operation.rb
260
+ - lib/mongoid/persistence/atomic/pop.rb
261
+ - lib/mongoid/persistence/atomic/pull.rb
236
262
  - lib/mongoid/persistence/atomic/pull_all.rb
237
263
  - lib/mongoid/persistence/atomic/push.rb
264
+ - lib/mongoid/persistence/atomic/push_all.rb
265
+ - lib/mongoid/persistence/atomic/rename.rb
266
+ - lib/mongoid/persistence/atomic/set.rb
267
+ - lib/mongoid/persistence/atomic/unset.rb
238
268
  - lib/mongoid/persistence/atomic.rb
239
- - lib/mongoid/persistence/command.rb
240
- - lib/mongoid/persistence/insert.rb
241
- - lib/mongoid/persistence/insert_embedded.rb
242
- - lib/mongoid/persistence/remove.rb
243
- - lib/mongoid/persistence/remove_all.rb
244
- - lib/mongoid/persistence/remove_embedded.rb
245
- - lib/mongoid/persistence/update.rb
269
+ - lib/mongoid/persistence/deletion.rb
270
+ - lib/mongoid/persistence/insertion.rb
271
+ - lib/mongoid/persistence/modification.rb
272
+ - lib/mongoid/persistence/operations/embedded/insert.rb
273
+ - lib/mongoid/persistence/operations/embedded/remove.rb
274
+ - lib/mongoid/persistence/operations/insert.rb
275
+ - lib/mongoid/persistence/operations/remove.rb
276
+ - lib/mongoid/persistence/operations/update.rb
277
+ - lib/mongoid/persistence/operations.rb
246
278
  - lib/mongoid/persistence.rb
247
279
  - lib/mongoid/railtie.rb
248
280
  - lib/mongoid/railties/database.rake
@@ -285,11 +317,13 @@ files:
285
317
  - lib/mongoid/relations/embedded/in.rb
286
318
  - lib/mongoid/relations/embedded/many.rb
287
319
  - lib/mongoid/relations/embedded/one.rb
320
+ - lib/mongoid/relations/embedded/sort.rb
288
321
  - lib/mongoid/relations/macros.rb
289
322
  - lib/mongoid/relations/many.rb
290
323
  - lib/mongoid/relations/metadata.rb
291
324
  - lib/mongoid/relations/nested_builder.rb
292
325
  - lib/mongoid/relations/one.rb
326
+ - lib/mongoid/relations/options.rb
293
327
  - lib/mongoid/relations/polymorphic.rb
294
328
  - lib/mongoid/relations/proxy.rb
295
329
  - lib/mongoid/relations/referenced/batch/insert.rb
@@ -299,29 +333,33 @@ files:
299
333
  - lib/mongoid/relations/referenced/many_to_many.rb
300
334
  - lib/mongoid/relations/referenced/one.rb
301
335
  - lib/mongoid/relations/reflections.rb
336
+ - lib/mongoid/relations/synchronization.rb
337
+ - lib/mongoid/relations/targets/enumerable.rb
338
+ - lib/mongoid/relations/targets.rb
302
339
  - lib/mongoid/relations.rb
303
- - lib/mongoid/safe.rb
304
340
  - lib/mongoid/safety.rb
305
341
  - lib/mongoid/scope.rb
306
342
  - lib/mongoid/serialization.rb
307
343
  - lib/mongoid/sharding.rb
308
344
  - lib/mongoid/state.rb
345
+ - lib/mongoid/threaded.rb
309
346
  - lib/mongoid/timestamps/created.rb
310
347
  - lib/mongoid/timestamps/updated.rb
311
348
  - lib/mongoid/timestamps.rb
312
349
  - lib/mongoid/validations/associated.rb
313
- - lib/mongoid/validations/referenced.rb
314
350
  - lib/mongoid/validations/uniqueness.rb
315
351
  - lib/mongoid/validations.rb
316
352
  - lib/mongoid/version.rb
317
353
  - lib/mongoid/versioning.rb
318
354
  - lib/mongoid.rb
355
+ - lib/rack/mongoid/middleware/identity_map.rb
356
+ - lib/rack/mongoid.rb
319
357
  - lib/rails/generators/mongoid/config/config_generator.rb
320
358
  - lib/rails/generators/mongoid/config/templates/mongoid.yml
321
359
  - lib/rails/generators/mongoid/model/model_generator.rb
322
- - lib/rails/generators/mongoid/model/templates/model.rb
360
+ - lib/rails/generators/mongoid/model/templates/model.rb.tt
323
361
  - lib/rails/generators/mongoid/observer/observer_generator.rb
324
- - lib/rails/generators/mongoid/observer/templates/observer.rb
362
+ - lib/rails/generators/mongoid/observer/templates/observer.rb.tt
325
363
  - lib/rails/generators/mongoid_generator.rb
326
364
  - lib/rails/mongoid.rb
327
365
  - LICENSE
@@ -330,33 +368,29 @@ files:
330
368
  has_rdoc: true
331
369
  homepage: http://mongoid.org
332
370
  licenses: []
333
-
334
371
  post_install_message:
335
372
  rdoc_options: []
336
-
337
- require_paths:
373
+ require_paths:
338
374
  - lib
339
- required_ruby_version: !ruby/object:Gem::Requirement
375
+ required_ruby_version: !ruby/object:Gem::Requirement
340
376
  none: false
341
- requirements:
342
- - - ">="
343
- - !ruby/object:Gem::Version
344
- hash: -1675372981513058867
345
- segments:
377
+ requirements:
378
+ - - ! '>='
379
+ - !ruby/object:Gem::Version
380
+ version: '0'
381
+ segments:
346
382
  - 0
347
- version: "0"
348
- required_rubygems_version: !ruby/object:Gem::Requirement
383
+ hash: 1489786607886751452
384
+ required_rubygems_version: !ruby/object:Gem::Requirement
349
385
  none: false
350
- requirements:
351
- - - ">="
352
- - !ruby/object:Gem::Version
386
+ requirements:
387
+ - - ! '>='
388
+ - !ruby/object:Gem::Version
353
389
  version: 1.3.6
354
390
  requirements: []
355
-
356
391
  rubyforge_project: mongoid
357
392
  rubygems_version: 1.6.2
358
393
  signing_key:
359
394
  specification_version: 3
360
395
  summary: Elegant Persistance in Ruby for MongoDB.
361
396
  test_files: []
362
-