mongoid 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
-