mongoid 1.2.14 → 1.9.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 (200) hide show
  1. data/lib/mongoid.rb +10 -3
  2. data/lib/mongoid/associations.rb +133 -97
  3. data/lib/mongoid/associations/belongs_to_related.rb +2 -3
  4. data/lib/mongoid/associations/{belongs_to.rb → embedded_in.rb} +14 -6
  5. data/lib/mongoid/associations/{has_many.rb → embeds_many.rb} +89 -31
  6. data/lib/mongoid/associations/{has_one.rb → embeds_one.rb} +8 -7
  7. data/lib/mongoid/associations/has_many_related.rb +52 -7
  8. data/lib/mongoid/associations/has_one_related.rb +8 -4
  9. data/lib/mongoid/associations/meta_data.rb +2 -1
  10. data/lib/mongoid/associations/options.rb +6 -1
  11. data/lib/mongoid/associations/proxy.rb +14 -21
  12. data/lib/mongoid/attributes.rb +27 -12
  13. data/lib/mongoid/collection.rb +4 -3
  14. data/lib/mongoid/collections.rb +41 -0
  15. data/lib/mongoid/collections/master.rb +3 -2
  16. data/lib/mongoid/collections/slaves.rb +3 -2
  17. data/lib/mongoid/components.rb +21 -19
  18. data/lib/mongoid/concern.rb +31 -0
  19. data/lib/mongoid/config.rb +117 -12
  20. data/lib/mongoid/contexts.rb +1 -1
  21. data/lib/mongoid/contexts/enumerable.rb +1 -1
  22. data/lib/mongoid/contexts/mongo.rb +1 -1
  23. data/lib/mongoid/contexts/paging.rb +10 -2
  24. data/lib/mongoid/criterion/inclusion.rb +17 -0
  25. data/lib/mongoid/criterion/optional.rb +1 -1
  26. data/lib/mongoid/dirty.rb +253 -0
  27. data/lib/mongoid/document.rb +81 -52
  28. data/lib/mongoid/errors.rb +32 -1
  29. data/lib/mongoid/extensions.rb +11 -9
  30. data/lib/mongoid/extensions/big_decimal/conversions.rb +2 -2
  31. data/lib/mongoid/extensions/boolean/conversions.rb +8 -2
  32. data/lib/mongoid/extensions/date/conversions.rb +13 -4
  33. data/lib/mongoid/extensions/datetime/conversions.rb +1 -6
  34. data/lib/mongoid/extensions/float/conversions.rb +5 -1
  35. data/lib/mongoid/extensions/hash/assimilation.rb +12 -3
  36. data/lib/mongoid/extensions/hash/conversions.rb +34 -4
  37. data/lib/mongoid/extensions/integer/conversions.rb +5 -1
  38. data/lib/mongoid/extensions/nil/assimilation.rb +4 -0
  39. data/lib/mongoid/extensions/object/conversions.rb +1 -1
  40. data/lib/mongoid/extensions/string/conversions.rb +1 -1
  41. data/lib/mongoid/extensions/symbol/inflections.rb +1 -1
  42. data/lib/mongoid/extensions/time_conversions.rb +35 -0
  43. data/lib/mongoid/extras.rb +6 -9
  44. data/lib/mongoid/factory.rb +2 -1
  45. data/lib/mongoid/field.rb +9 -2
  46. data/lib/mongoid/fields.rb +1 -0
  47. data/lib/mongoid/identity.rb +3 -3
  48. data/lib/mongoid/indexes.rb +3 -3
  49. data/lib/mongoid/memoization.rb +8 -2
  50. data/lib/mongoid/named_scope.rb +0 -3
  51. data/lib/mongoid/observable.rb +30 -0
  52. data/lib/mongoid/paths.rb +62 -0
  53. data/lib/mongoid/persistence.rb +222 -0
  54. data/lib/mongoid/persistence/command.rb +39 -0
  55. data/lib/mongoid/persistence/insert.rb +50 -0
  56. data/lib/mongoid/persistence/insert_embedded.rb +38 -0
  57. data/lib/mongoid/persistence/remove.rb +39 -0
  58. data/lib/mongoid/persistence/remove_all.rb +37 -0
  59. data/lib/mongoid/persistence/remove_embedded.rb +50 -0
  60. data/lib/mongoid/persistence/update.rb +63 -0
  61. data/lib/mongoid/state.rb +28 -21
  62. data/lib/mongoid/timestamps.rb +5 -8
  63. data/lib/mongoid/version.rb +4 -0
  64. data/lib/mongoid/versioning.rb +6 -7
  65. metadata +81 -300
  66. data/.gitignore +0 -6
  67. data/.watchr +0 -29
  68. data/Rakefile +0 -53
  69. data/VERSION +0 -1
  70. data/caliper.yml +0 -4
  71. data/lib/mongoid/collections/mimic.rb +0 -46
  72. data/lib/mongoid/commands.rb +0 -174
  73. data/lib/mongoid/commands/create.rb +0 -21
  74. data/lib/mongoid/commands/delete.rb +0 -16
  75. data/lib/mongoid/commands/delete_all.rb +0 -23
  76. data/lib/mongoid/commands/deletion.rb +0 -18
  77. data/lib/mongoid/commands/destroy.rb +0 -19
  78. data/lib/mongoid/commands/destroy_all.rb +0 -23
  79. data/lib/mongoid/commands/save.rb +0 -27
  80. data/lib/mongoid/extensions/time/conversions.rb +0 -18
  81. data/mongoid.gemspec +0 -395
  82. data/perf/benchmark.rb +0 -77
  83. data/spec/integration/mongoid/associations_spec.rb +0 -340
  84. data/spec/integration/mongoid/attributes_spec.rb +0 -22
  85. data/spec/integration/mongoid/commands_spec.rb +0 -218
  86. data/spec/integration/mongoid/contexts/enumerable_spec.rb +0 -33
  87. data/spec/integration/mongoid/criteria_spec.rb +0 -272
  88. data/spec/integration/mongoid/document_spec.rb +0 -593
  89. data/spec/integration/mongoid/extensions_spec.rb +0 -26
  90. data/spec/integration/mongoid/finders_spec.rb +0 -119
  91. data/spec/integration/mongoid/inheritance_spec.rb +0 -137
  92. data/spec/integration/mongoid/named_scope_spec.rb +0 -46
  93. data/spec/models/address.rb +0 -39
  94. data/spec/models/animal.rb +0 -6
  95. data/spec/models/callbacks.rb +0 -18
  96. data/spec/models/comment.rb +0 -8
  97. data/spec/models/country_code.rb +0 -6
  98. data/spec/models/employer.rb +0 -5
  99. data/spec/models/game.rb +0 -7
  100. data/spec/models/inheritance.rb +0 -56
  101. data/spec/models/location.rb +0 -5
  102. data/spec/models/mixed_drink.rb +0 -4
  103. data/spec/models/name.rb +0 -13
  104. data/spec/models/namespacing.rb +0 -11
  105. data/spec/models/patient.rb +0 -4
  106. data/spec/models/person.rb +0 -99
  107. data/spec/models/pet.rb +0 -7
  108. data/spec/models/pet_owner.rb +0 -6
  109. data/spec/models/phone.rb +0 -7
  110. data/spec/models/post.rb +0 -15
  111. data/spec/models/translation.rb +0 -5
  112. data/spec/models/vet_visit.rb +0 -5
  113. data/spec/spec.opts +0 -3
  114. data/spec/spec_helper.rb +0 -31
  115. data/spec/unit/mongoid/associations/belongs_to_related_spec.rb +0 -145
  116. data/spec/unit/mongoid/associations/belongs_to_spec.rb +0 -193
  117. data/spec/unit/mongoid/associations/has_many_related_spec.rb +0 -420
  118. data/spec/unit/mongoid/associations/has_many_spec.rb +0 -519
  119. data/spec/unit/mongoid/associations/has_one_related_spec.rb +0 -179
  120. data/spec/unit/mongoid/associations/has_one_spec.rb +0 -282
  121. data/spec/unit/mongoid/associations/meta_data_spec.rb +0 -88
  122. data/spec/unit/mongoid/associations/options_spec.rb +0 -192
  123. data/spec/unit/mongoid/associations_spec.rb +0 -595
  124. data/spec/unit/mongoid/attributes_spec.rb +0 -507
  125. data/spec/unit/mongoid/callbacks_spec.rb +0 -55
  126. data/spec/unit/mongoid/collection_spec.rb +0 -187
  127. data/spec/unit/mongoid/collections/cyclic_iterator_spec.rb +0 -75
  128. data/spec/unit/mongoid/collections/master_spec.rb +0 -41
  129. data/spec/unit/mongoid/collections/mimic_spec.rb +0 -43
  130. data/spec/unit/mongoid/collections/slaves_spec.rb +0 -81
  131. data/spec/unit/mongoid/commands/create_spec.rb +0 -30
  132. data/spec/unit/mongoid/commands/delete_all_spec.rb +0 -58
  133. data/spec/unit/mongoid/commands/delete_spec.rb +0 -38
  134. data/spec/unit/mongoid/commands/destroy_all_spec.rb +0 -23
  135. data/spec/unit/mongoid/commands/destroy_spec.rb +0 -50
  136. data/spec/unit/mongoid/commands/save_spec.rb +0 -105
  137. data/spec/unit/mongoid/commands_spec.rb +0 -275
  138. data/spec/unit/mongoid/config_spec.rb +0 -172
  139. data/spec/unit/mongoid/contexts/enumerable_spec.rb +0 -421
  140. data/spec/unit/mongoid/contexts/mongo_spec.rb +0 -682
  141. data/spec/unit/mongoid/contexts_spec.rb +0 -25
  142. data/spec/unit/mongoid/criteria_spec.rb +0 -824
  143. data/spec/unit/mongoid/criterion/complex_spec.rb +0 -19
  144. data/spec/unit/mongoid/criterion/exclusion_spec.rb +0 -91
  145. data/spec/unit/mongoid/criterion/inclusion_spec.rb +0 -219
  146. data/spec/unit/mongoid/criterion/optional_spec.rb +0 -319
  147. data/spec/unit/mongoid/cursor_spec.rb +0 -74
  148. data/spec/unit/mongoid/deprecation_spec.rb +0 -24
  149. data/spec/unit/mongoid/document_spec.rb +0 -952
  150. data/spec/unit/mongoid/errors_spec.rb +0 -103
  151. data/spec/unit/mongoid/extensions/array/accessors_spec.rb +0 -50
  152. data/spec/unit/mongoid/extensions/array/assimilation_spec.rb +0 -24
  153. data/spec/unit/mongoid/extensions/array/conversions_spec.rb +0 -35
  154. data/spec/unit/mongoid/extensions/array/parentization_spec.rb +0 -20
  155. data/spec/unit/mongoid/extensions/big_decimal/conversions_spec.rb +0 -22
  156. data/spec/unit/mongoid/extensions/binary/conversions_spec.rb +0 -22
  157. data/spec/unit/mongoid/extensions/boolean/conversions_spec.rb +0 -49
  158. data/spec/unit/mongoid/extensions/date/conversions_spec.rb +0 -102
  159. data/spec/unit/mongoid/extensions/datetime/conversions_spec.rb +0 -70
  160. data/spec/unit/mongoid/extensions/float/conversions_spec.rb +0 -61
  161. data/spec/unit/mongoid/extensions/hash/accessors_spec.rb +0 -184
  162. data/spec/unit/mongoid/extensions/hash/assimilation_spec.rb +0 -46
  163. data/spec/unit/mongoid/extensions/hash/conversions_spec.rb +0 -21
  164. data/spec/unit/mongoid/extensions/hash/criteria_helpers_spec.rb +0 -17
  165. data/spec/unit/mongoid/extensions/hash/scoping_spec.rb +0 -14
  166. data/spec/unit/mongoid/extensions/integer/conversions_spec.rb +0 -61
  167. data/spec/unit/mongoid/extensions/nil/assimilation_spec.rb +0 -24
  168. data/spec/unit/mongoid/extensions/object/conversions_spec.rb +0 -57
  169. data/spec/unit/mongoid/extensions/proc/scoping_spec.rb +0 -34
  170. data/spec/unit/mongoid/extensions/string/conversions_spec.rb +0 -17
  171. data/spec/unit/mongoid/extensions/string/inflections_spec.rb +0 -208
  172. data/spec/unit/mongoid/extensions/symbol/inflections_spec.rb +0 -91
  173. data/spec/unit/mongoid/extensions/time/conversions_spec.rb +0 -70
  174. data/spec/unit/mongoid/extras_spec.rb +0 -102
  175. data/spec/unit/mongoid/factory_spec.rb +0 -31
  176. data/spec/unit/mongoid/field_spec.rb +0 -143
  177. data/spec/unit/mongoid/fields_spec.rb +0 -181
  178. data/spec/unit/mongoid/finders_spec.rb +0 -404
  179. data/spec/unit/mongoid/identity_spec.rb +0 -109
  180. data/spec/unit/mongoid/indexes_spec.rb +0 -93
  181. data/spec/unit/mongoid/javascript_spec.rb +0 -48
  182. data/spec/unit/mongoid/matchers/all_spec.rb +0 -27
  183. data/spec/unit/mongoid/matchers/default_spec.rb +0 -27
  184. data/spec/unit/mongoid/matchers/exists_spec.rb +0 -56
  185. data/spec/unit/mongoid/matchers/gt_spec.rb +0 -39
  186. data/spec/unit/mongoid/matchers/gte_spec.rb +0 -49
  187. data/spec/unit/mongoid/matchers/in_spec.rb +0 -27
  188. data/spec/unit/mongoid/matchers/lt_spec.rb +0 -39
  189. data/spec/unit/mongoid/matchers/lte_spec.rb +0 -49
  190. data/spec/unit/mongoid/matchers/ne_spec.rb +0 -27
  191. data/spec/unit/mongoid/matchers/nin_spec.rb +0 -27
  192. data/spec/unit/mongoid/matchers/size_spec.rb +0 -27
  193. data/spec/unit/mongoid/matchers_spec.rb +0 -329
  194. data/spec/unit/mongoid/memoization_spec.rb +0 -75
  195. data/spec/unit/mongoid/named_scope_spec.rb +0 -123
  196. data/spec/unit/mongoid/scope_spec.rb +0 -240
  197. data/spec/unit/mongoid/state_spec.rb +0 -83
  198. data/spec/unit/mongoid/timestamps_spec.rb +0 -25
  199. data/spec/unit/mongoid/versioning_spec.rb +0 -41
  200. data/spec/unit/mongoid_spec.rb +0 -46
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc:
3
+ module Persistence #:nodoc:
4
+ # Insert is a persistence command responsible for taking a document that
5
+ # has not been saved to the database and saving it. This specific class
6
+ # handles the case when the document is embedded in another.
7
+ #
8
+ # The underlying query resembles the following MongoDB query:
9
+ #
10
+ # collection.insert(
11
+ # { "_id" : 1, "field" : "value" },
12
+ # false
13
+ # );
14
+ class InsertEmbedded < Command
15
+ # Insert the new document in the database. If the document's parent is a
16
+ # new record, we will call save on the parent, otherwise we will $push
17
+ # the document onto the parent.
18
+ #
19
+ # Example:
20
+ #
21
+ # <tt>Insert.persist</tt>
22
+ #
23
+ # Returns:
24
+ #
25
+ # The +Document+, whether the insert succeeded or not.
26
+ def persist
27
+ parent = @document._parent
28
+ if parent.new_record?
29
+ parent.insert
30
+ else
31
+ update = { @document._inserter => { @document._position => @document.raw_attributes } }
32
+ @collection.update(parent._selector, update, @options.merge(:multi => false))
33
+ end
34
+ @document.new_record = false; @document
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,39 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc:
3
+ module Persistence #:nodoc:
4
+ # Remove is a persistence command responsible for deleting a document from
5
+ # the database.
6
+ #
7
+ # The underlying query resembles the following MongoDB query:
8
+ #
9
+ # collection.remove(
10
+ # { "_id" : 1 },
11
+ # false
12
+ # );
13
+ class Remove < Command
14
+ # Remove the document from the database: delegates to the MongoDB
15
+ # collection remove method.
16
+ #
17
+ # Example:
18
+ #
19
+ # <tt>Remove.persist</tt>
20
+ #
21
+ # Returns:
22
+ #
23
+ # +true+ if success, +false+ if not.
24
+ def persist
25
+ remove
26
+ end
27
+
28
+ protected
29
+ # Remove the document from the database.
30
+ def remove
31
+ if @document.embedded?
32
+ Persistence::RemoveEmbedded.new(@document, @validate).persist
33
+ else
34
+ @collection.remove({ :_id => @document.id }, @options)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc:
3
+ module Persistence #:nodoc:
4
+ # Remove is a persistence command responsible for deleting a document from
5
+ # the database.
6
+ #
7
+ # The underlying query resembles the following MongoDB query:
8
+ #
9
+ # collection.remove(
10
+ # { "field" : value },
11
+ # false
12
+ # );
13
+ class RemoveAll < Command
14
+ # Remove the document from the database: delegates to the MongoDB
15
+ # collection remove method.
16
+ #
17
+ # Example:
18
+ #
19
+ # <tt>Remove.persist</tt>
20
+ #
21
+ # Returns:
22
+ #
23
+ # +true+ if success, +false+ if not.
24
+ def persist
25
+ remove
26
+ end
27
+
28
+ protected
29
+ # Remove the document from the database.
30
+ def remove
31
+ count = @collection.find(@selector.merge(:_type => @klass.name)).count
32
+ @collection.remove(@selector, @options)
33
+ count
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc:
3
+ module Persistence #:nodoc:
4
+ # Remove is a persistence command responsible for deleting a document from
5
+ # the database.
6
+ #
7
+ # The underlying query resembles the following MongoDB query:
8
+ #
9
+ # collection.remove(
10
+ # { "_id" : 1 },
11
+ # false
12
+ # );
13
+ class RemoveEmbedded < Command
14
+ # Insert the new document in the database. If the document's parent is a
15
+ # new record, we will call save on the parent, otherwise we will $push
16
+ # the document onto the parent.
17
+ #
18
+ # Remove the document from the database. If the parent is a new record,
19
+ # it will get removed in Ruby only. If the parent is not a new record
20
+ # then either an $unset or $set will occur, depending if it's an
21
+ # embeds_one or embeds_many.
22
+ #
23
+ # Example:
24
+ #
25
+ # <tt>RemoveEmbedded.persist</tt>
26
+ #
27
+ # Returns:
28
+ #
29
+ # +true+ or +false+, depending on if the removal passed.
30
+ def persist
31
+ parent = @document._parent
32
+ parent.remove(@document)
33
+ unless parent.new_record?
34
+ update = { @document._remover => removal_selector }
35
+ @collection.update(parent._selector, update, @options.merge(:multi => false))
36
+ end; true
37
+ end
38
+
39
+ protected
40
+ # Get the value to pass to the removal modifier.
41
+ def setter
42
+ @document._index ? @document.id : true
43
+ end
44
+
45
+ def removal_selector
46
+ @document._index ? { @document._pull => { "_id" => @document.id } } : { @document._path => setter }
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,63 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc:
3
+ module Persistence #:nodoc:
4
+ # Update is a persistence command responsible for taking a document that
5
+ # has already been saved to the database and saving it, depending on
6
+ # whether or not the document has been modified.
7
+ #
8
+ # Before persisting the command will check via dirty attributes if the
9
+ # document has changed, if not, it will simply return true. If it has it
10
+ # will go through the validation steps, run callbacks, and set the changed
11
+ # fields atomically on the document. The underlying query resembles the
12
+ # following MongoDB query:
13
+ #
14
+ # collection.update(
15
+ # { "_id" : 1,
16
+ # { "$set" : { "field" : "value" },
17
+ # false,
18
+ # false
19
+ # );
20
+ #
21
+ # For embedded documents it will use the positional locator:
22
+ #
23
+ # collection.update(
24
+ # { "_id" : 1, "addresses._id" : 2 },
25
+ # { "$set" : { "addresses.$.field" : "value" },
26
+ # false,
27
+ # false
28
+ # );
29
+ #
30
+ class Update < Command
31
+ # Persist the document that is to be updated to the database. This will
32
+ # only write changed fields via MongoDB's $set modifier operation.
33
+ #
34
+ # Example:
35
+ #
36
+ # <tt>Update.persist</tt>
37
+ #
38
+ # Returns:
39
+ #
40
+ # +true+ or +false+, depending on validation.
41
+ def persist
42
+ return false if validate && !@document.valid?
43
+ @document.run_callbacks(:before_save)
44
+ @document.run_callbacks(:before_update)
45
+ if update
46
+ @document.move_changes
47
+ @document.run_callbacks(:after_save)
48
+ @document.run_callbacks(:after_update)
49
+ else
50
+ return false
51
+ end; true
52
+ end
53
+
54
+ protected
55
+ # Update the document in the database atomically.
56
+ def update
57
+ if @document.changed?
58
+ @collection.update(@document._selector, { "$set" => @document.setters }, @options.merge(:multi => false))
59
+ end; true
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,32 +1,39 @@
1
1
  # encoding: utf-8
2
2
  module Mongoid #:nodoc:
3
3
  module State #:nodoc:
4
- # Returns true if the +Document+ has not been persisted to the database,
5
- # false if it has. This is determined by the variable @new_record
6
- # and NOT if the object has an id.
7
- def new_record?
8
- @new_record == true
4
+ extend ActiveSupport::Concern
5
+ included do
6
+ attr_reader :new_record
9
7
  end
10
8
 
11
- # Sets the new_record boolean - used after document is saved.
12
- def new_record=(saved)
13
- @new_record = saved
14
- end
9
+ module InstanceMethods
10
+ # Returns true if the +Document+ has not been persisted to the database,
11
+ # false if it has. This is determined by the variable @new_record
12
+ # and NOT if the object has an id.
13
+ def new_record?
14
+ !!@new_record
15
+ end
15
16
 
16
- # Checks if the document has been saved to the database.
17
- def persisted?
18
- !new_record?
19
- end
17
+ # Sets the new_record boolean - used after document is saved.
18
+ def new_record=(saved)
19
+ @new_record = saved
20
+ end
20
21
 
21
- # Returns true if the +Document+ has been succesfully destroyed, and false if it hasn't.
22
- # This is determined by the variable @destroyed and NOT by checking the database.
23
- def destroyed?
24
- @destroyed == true
25
- end
22
+ # Checks if the document has been saved to the database.
23
+ def persisted?
24
+ !new_record?
25
+ end
26
+
27
+ # Returns true if the +Document+ has been succesfully destroyed, and false if it hasn't.
28
+ # This is determined by the variable @destroyed and NOT by checking the database.
29
+ def destroyed?
30
+ @destroyed == true
31
+ end
26
32
 
27
- # Sets the destroyed boolean - used after document is destroyed.
28
- def destroyed=(destroyed)
29
- @destroyed = destroyed && true
33
+ # Sets the destroyed boolean - used after document is destroyed.
34
+ def destroyed=(destroyed)
35
+ @destroyed = destroyed && true
36
+ end
30
37
  end
31
38
  end
32
39
  end
@@ -1,14 +1,11 @@
1
1
  # encoding: utf-8
2
2
  module Mongoid
3
3
  module Timestamps
4
-
5
- def self.included(base)
6
- base.class_eval do
7
- include InstanceMethods
8
- field :created_at, :type => Time
9
- field :updated_at, :type => Time
10
- before_save :set_created_at, :set_updated_at
11
- end
4
+ extend ActiveSupport::Concern
5
+ included do
6
+ field :created_at, :type => Time
7
+ field :updated_at, :type => Time
8
+ before_save :set_created_at, :set_updated_at
12
9
  end
13
10
 
14
11
  module InstanceMethods
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ module Mongoid #:nodoc
3
+ VERSION = "1.9.0"
4
+ end
@@ -4,13 +4,11 @@ module Mongoid #:nodoc:
4
4
  # This will add a version field to the +Document+ and a has_many association
5
5
  # with all the versions contained in it.
6
6
  module Versioning
7
- def self.included(base)
8
- base.class_eval do
9
- field :version, :type => Integer, :default => 1
10
- has_many :versions, :class_name => self.name
11
- before_save :revise
12
- include InstanceMethods
13
- end
7
+ extend ActiveSupport::Concern
8
+ included do
9
+ field :version, :type => Integer, :default => 1
10
+ embeds_many :versions, :class_name => self.name
11
+ before_save :revise
14
12
  end
15
13
  module InstanceMethods
16
14
  # Create a new version of the +Document+. This will load the previous
@@ -21,6 +19,7 @@ module Mongoid #:nodoc:
21
19
  if last_version
22
20
  self.versions << last_version.clone
23
21
  self.version = version + 1
22
+ @modifications["versions"] = [ nil, @attributes["versions"] ] if @modifications
24
23
  end
25
24
  end
26
25
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 2
8
- - 14
9
- version: 1.2.14
7
+ - 9
8
+ - 0
9
+ version: 1.9.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Durran Jordan
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-17 00:00:00 -05:00
17
+ date: 2010-05-17 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -32,66 +32,80 @@ dependencies:
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency
35
- name: mongo
35
+ name: durran-validatable
36
36
  prerelease: false
37
37
  requirement: &id002 !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  segments:
42
+ - 2
42
43
  - 0
43
- - 19
44
44
  - 1
45
- version: 0.19.1
45
+ version: 2.0.1
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency
49
- name: durran-validatable
49
+ name: will_paginate
50
50
  prerelease: false
51
51
  requirement: &id003 !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ">="
53
+ - - <
54
54
  - !ruby/object:Gem::Version
55
55
  segments:
56
56
  - 2
57
- - 0
58
- - 1
59
- version: 2.0.1
57
+ - 9
58
+ version: "2.9"
60
59
  type: :runtime
61
60
  version_requirements: *id003
62
61
  - !ruby/object:Gem::Dependency
63
- name: will_paginate
62
+ name: mongo
64
63
  prerelease: false
65
64
  requirement: &id004 !ruby/object:Gem::Requirement
66
65
  requirements:
67
- - - <
66
+ - - ~>
68
67
  - !ruby/object:Gem::Version
69
68
  segments:
70
- - 2
71
- - 9
72
- version: "2.9"
69
+ - 1
70
+ - 0
71
+ - 1
72
+ version: 1.0.1
73
73
  type: :runtime
74
74
  version_requirements: *id004
75
75
  - !ruby/object:Gem::Dependency
76
- name: rspec
76
+ name: bson
77
77
  prerelease: false
78
78
  requirement: &id005 !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  segments:
83
83
  - 1
84
- - 2
85
- - 9
86
- version: 1.2.9
87
- type: :development
84
+ - 0
85
+ - 1
86
+ version: 1.0.1
87
+ type: :runtime
88
88
  version_requirements: *id005
89
89
  - !ruby/object:Gem::Dependency
90
- name: mocha
90
+ name: rspec
91
91
  prerelease: false
92
92
  requirement: &id006 !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "="
95
+ - !ruby/object:Gem::Version
96
+ segments:
97
+ - 1
98
+ - 3
99
+ - 0
100
+ version: 1.3.0
101
+ type: :development
102
+ version_requirements: *id006
103
+ - !ruby/object:Gem::Dependency
104
+ name: mocha
105
+ prerelease: false
106
+ requirement: &id007 !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "="
95
109
  - !ruby/object:Gem::Version
96
110
  segments:
97
111
  - 0
@@ -99,57 +113,43 @@ dependencies:
99
113
  - 8
100
114
  version: 0.9.8
101
115
  type: :development
102
- version_requirements: *id006
103
- description:
104
- email: durran@gmail.com
116
+ version_requirements: *id007
117
+ description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written in Ruby.
118
+ email:
119
+ - durran@gmail.com
105
120
  executables: []
106
121
 
107
122
  extensions: []
108
123
 
109
- extra_rdoc_files:
110
- - README.rdoc
124
+ extra_rdoc_files: []
125
+
111
126
  files:
112
- - .gitignore
113
- - .watchr
114
- - MIT_LICENSE
115
- - README.rdoc
116
- - Rakefile
117
- - VERSION
118
- - caliper.yml
119
- - lib/mongoid.rb
120
- - lib/mongoid/associations.rb
121
- - lib/mongoid/associations/belongs_to.rb
122
127
  - lib/mongoid/associations/belongs_to_related.rb
123
- - lib/mongoid/associations/has_many.rb
128
+ - lib/mongoid/associations/embedded_in.rb
129
+ - lib/mongoid/associations/embeds_many.rb
130
+ - lib/mongoid/associations/embeds_one.rb
124
131
  - lib/mongoid/associations/has_many_related.rb
125
- - lib/mongoid/associations/has_one.rb
126
132
  - lib/mongoid/associations/has_one_related.rb
127
133
  - lib/mongoid/associations/meta_data.rb
128
134
  - lib/mongoid/associations/options.rb
129
135
  - lib/mongoid/associations/proxy.rb
136
+ - lib/mongoid/associations.rb
130
137
  - lib/mongoid/attributes.rb
131
138
  - lib/mongoid/callbacks.rb
132
139
  - lib/mongoid/collection.rb
133
140
  - lib/mongoid/collections/cyclic_iterator.rb
134
141
  - lib/mongoid/collections/master.rb
135
- - lib/mongoid/collections/mimic.rb
136
142
  - lib/mongoid/collections/operations.rb
137
143
  - lib/mongoid/collections/slaves.rb
138
- - lib/mongoid/commands.rb
139
- - lib/mongoid/commands/create.rb
140
- - lib/mongoid/commands/delete.rb
141
- - lib/mongoid/commands/delete_all.rb
142
- - lib/mongoid/commands/deletion.rb
143
- - lib/mongoid/commands/destroy.rb
144
- - lib/mongoid/commands/destroy_all.rb
145
- - lib/mongoid/commands/save.rb
144
+ - lib/mongoid/collections.rb
146
145
  - lib/mongoid/components.rb
146
+ - lib/mongoid/concern.rb
147
147
  - lib/mongoid/config.rb
148
- - lib/mongoid/contexts.rb
149
148
  - lib/mongoid/contexts/enumerable.rb
150
149
  - lib/mongoid/contexts/ids.rb
151
150
  - lib/mongoid/contexts/mongo.rb
152
151
  - lib/mongoid/contexts/paging.rb
152
+ - lib/mongoid/contexts.rb
153
153
  - lib/mongoid/criteria.rb
154
154
  - lib/mongoid/criterion/complex.rb
155
155
  - lib/mongoid/criterion/exclusion.rb
@@ -157,9 +157,9 @@ files:
157
157
  - lib/mongoid/criterion/optional.rb
158
158
  - lib/mongoid/cursor.rb
159
159
  - lib/mongoid/deprecation.rb
160
+ - lib/mongoid/dirty.rb
160
161
  - lib/mongoid/document.rb
161
162
  - lib/mongoid/errors.rb
162
- - lib/mongoid/extensions.rb
163
163
  - lib/mongoid/extensions/array/accessors.rb
164
164
  - lib/mongoid/extensions/array/aliasing.rb
165
165
  - lib/mongoid/extensions/array/assimilation.rb
@@ -184,7 +184,8 @@ files:
184
184
  - lib/mongoid/extensions/string/conversions.rb
185
185
  - lib/mongoid/extensions/string/inflections.rb
186
186
  - lib/mongoid/extensions/symbol/inflections.rb
187
- - lib/mongoid/extensions/time/conversions.rb
187
+ - lib/mongoid/extensions/time_conversions.rb
188
+ - lib/mongoid/extensions.rb
188
189
  - lib/mongoid/extras.rb
189
190
  - lib/mongoid/factory.rb
190
191
  - lib/mongoid/field.rb
@@ -192,9 +193,8 @@ files:
192
193
  - lib/mongoid/finders.rb
193
194
  - lib/mongoid/identity.rb
194
195
  - lib/mongoid/indexes.rb
195
- - lib/mongoid/javascript.rb
196
196
  - lib/mongoid/javascript/functions.yml
197
- - lib/mongoid/matchers.rb
197
+ - lib/mongoid/javascript.rb
198
198
  - lib/mongoid/matchers/all.rb
199
199
  - lib/mongoid/matchers/default.rb
200
200
  - lib/mongoid/matchers/exists.rb
@@ -206,139 +206,34 @@ files:
206
206
  - lib/mongoid/matchers/ne.rb
207
207
  - lib/mongoid/matchers/nin.rb
208
208
  - lib/mongoid/matchers/size.rb
209
+ - lib/mongoid/matchers.rb
209
210
  - lib/mongoid/memoization.rb
210
211
  - lib/mongoid/named_scope.rb
212
+ - lib/mongoid/observable.rb
213
+ - lib/mongoid/paths.rb
214
+ - lib/mongoid/persistence/command.rb
215
+ - lib/mongoid/persistence/insert.rb
216
+ - lib/mongoid/persistence/insert_embedded.rb
217
+ - lib/mongoid/persistence/remove.rb
218
+ - lib/mongoid/persistence/remove_all.rb
219
+ - lib/mongoid/persistence/remove_embedded.rb
220
+ - lib/mongoid/persistence/update.rb
221
+ - lib/mongoid/persistence.rb
211
222
  - lib/mongoid/scope.rb
212
223
  - lib/mongoid/state.rb
213
224
  - lib/mongoid/timestamps.rb
225
+ - lib/mongoid/version.rb
214
226
  - lib/mongoid/versioning.rb
215
- - mongoid.gemspec
216
- - perf/benchmark.rb
217
- - spec/integration/mongoid/associations_spec.rb
218
- - spec/integration/mongoid/attributes_spec.rb
219
- - spec/integration/mongoid/commands_spec.rb
220
- - spec/integration/mongoid/contexts/enumerable_spec.rb
221
- - spec/integration/mongoid/criteria_spec.rb
222
- - spec/integration/mongoid/document_spec.rb
223
- - spec/integration/mongoid/extensions_spec.rb
224
- - spec/integration/mongoid/finders_spec.rb
225
- - spec/integration/mongoid/inheritance_spec.rb
226
- - spec/integration/mongoid/named_scope_spec.rb
227
- - spec/models/address.rb
228
- - spec/models/animal.rb
229
- - spec/models/callbacks.rb
230
- - spec/models/comment.rb
231
- - spec/models/country_code.rb
232
- - spec/models/employer.rb
233
- - spec/models/game.rb
234
- - spec/models/inheritance.rb
235
- - spec/models/location.rb
236
- - spec/models/mixed_drink.rb
237
- - spec/models/name.rb
238
- - spec/models/namespacing.rb
239
- - spec/models/patient.rb
240
- - spec/models/person.rb
241
- - spec/models/pet.rb
242
- - spec/models/pet_owner.rb
243
- - spec/models/phone.rb
244
- - spec/models/post.rb
245
- - spec/models/translation.rb
246
- - spec/models/vet_visit.rb
247
- - spec/spec.opts
248
- - spec/spec_helper.rb
249
- - spec/unit/mongoid/associations/belongs_to_related_spec.rb
250
- - spec/unit/mongoid/associations/belongs_to_spec.rb
251
- - spec/unit/mongoid/associations/has_many_related_spec.rb
252
- - spec/unit/mongoid/associations/has_many_spec.rb
253
- - spec/unit/mongoid/associations/has_one_related_spec.rb
254
- - spec/unit/mongoid/associations/has_one_spec.rb
255
- - spec/unit/mongoid/associations/meta_data_spec.rb
256
- - spec/unit/mongoid/associations/options_spec.rb
257
- - spec/unit/mongoid/associations_spec.rb
258
- - spec/unit/mongoid/attributes_spec.rb
259
- - spec/unit/mongoid/callbacks_spec.rb
260
- - spec/unit/mongoid/collection_spec.rb
261
- - spec/unit/mongoid/collections/cyclic_iterator_spec.rb
262
- - spec/unit/mongoid/collections/master_spec.rb
263
- - spec/unit/mongoid/collections/mimic_spec.rb
264
- - spec/unit/mongoid/collections/slaves_spec.rb
265
- - spec/unit/mongoid/commands/create_spec.rb
266
- - spec/unit/mongoid/commands/delete_all_spec.rb
267
- - spec/unit/mongoid/commands/delete_spec.rb
268
- - spec/unit/mongoid/commands/destroy_all_spec.rb
269
- - spec/unit/mongoid/commands/destroy_spec.rb
270
- - spec/unit/mongoid/commands/save_spec.rb
271
- - spec/unit/mongoid/commands_spec.rb
272
- - spec/unit/mongoid/config_spec.rb
273
- - spec/unit/mongoid/contexts/enumerable_spec.rb
274
- - spec/unit/mongoid/contexts/mongo_spec.rb
275
- - spec/unit/mongoid/contexts_spec.rb
276
- - spec/unit/mongoid/criteria_spec.rb
277
- - spec/unit/mongoid/criterion/complex_spec.rb
278
- - spec/unit/mongoid/criterion/exclusion_spec.rb
279
- - spec/unit/mongoid/criterion/inclusion_spec.rb
280
- - spec/unit/mongoid/criterion/optional_spec.rb
281
- - spec/unit/mongoid/cursor_spec.rb
282
- - spec/unit/mongoid/deprecation_spec.rb
283
- - spec/unit/mongoid/document_spec.rb
284
- - spec/unit/mongoid/errors_spec.rb
285
- - spec/unit/mongoid/extensions/array/accessors_spec.rb
286
- - spec/unit/mongoid/extensions/array/assimilation_spec.rb
287
- - spec/unit/mongoid/extensions/array/conversions_spec.rb
288
- - spec/unit/mongoid/extensions/array/parentization_spec.rb
289
- - spec/unit/mongoid/extensions/big_decimal/conversions_spec.rb
290
- - spec/unit/mongoid/extensions/binary/conversions_spec.rb
291
- - spec/unit/mongoid/extensions/boolean/conversions_spec.rb
292
- - spec/unit/mongoid/extensions/date/conversions_spec.rb
293
- - spec/unit/mongoid/extensions/datetime/conversions_spec.rb
294
- - spec/unit/mongoid/extensions/float/conversions_spec.rb
295
- - spec/unit/mongoid/extensions/hash/accessors_spec.rb
296
- - spec/unit/mongoid/extensions/hash/assimilation_spec.rb
297
- - spec/unit/mongoid/extensions/hash/conversions_spec.rb
298
- - spec/unit/mongoid/extensions/hash/criteria_helpers_spec.rb
299
- - spec/unit/mongoid/extensions/hash/scoping_spec.rb
300
- - spec/unit/mongoid/extensions/integer/conversions_spec.rb
301
- - spec/unit/mongoid/extensions/nil/assimilation_spec.rb
302
- - spec/unit/mongoid/extensions/object/conversions_spec.rb
303
- - spec/unit/mongoid/extensions/proc/scoping_spec.rb
304
- - spec/unit/mongoid/extensions/string/conversions_spec.rb
305
- - spec/unit/mongoid/extensions/string/inflections_spec.rb
306
- - spec/unit/mongoid/extensions/symbol/inflections_spec.rb
307
- - spec/unit/mongoid/extensions/time/conversions_spec.rb
308
- - spec/unit/mongoid/extras_spec.rb
309
- - spec/unit/mongoid/factory_spec.rb
310
- - spec/unit/mongoid/field_spec.rb
311
- - spec/unit/mongoid/fields_spec.rb
312
- - spec/unit/mongoid/finders_spec.rb
313
- - spec/unit/mongoid/identity_spec.rb
314
- - spec/unit/mongoid/indexes_spec.rb
315
- - spec/unit/mongoid/javascript_spec.rb
316
- - spec/unit/mongoid/matchers/all_spec.rb
317
- - spec/unit/mongoid/matchers/default_spec.rb
318
- - spec/unit/mongoid/matchers/exists_spec.rb
319
- - spec/unit/mongoid/matchers/gt_spec.rb
320
- - spec/unit/mongoid/matchers/gte_spec.rb
321
- - spec/unit/mongoid/matchers/in_spec.rb
322
- - spec/unit/mongoid/matchers/lt_spec.rb
323
- - spec/unit/mongoid/matchers/lte_spec.rb
324
- - spec/unit/mongoid/matchers/ne_spec.rb
325
- - spec/unit/mongoid/matchers/nin_spec.rb
326
- - spec/unit/mongoid/matchers/size_spec.rb
327
- - spec/unit/mongoid/matchers_spec.rb
328
- - spec/unit/mongoid/memoization_spec.rb
329
- - spec/unit/mongoid/named_scope_spec.rb
330
- - spec/unit/mongoid/scope_spec.rb
331
- - spec/unit/mongoid/state_spec.rb
332
- - spec/unit/mongoid/timestamps_spec.rb
333
- - spec/unit/mongoid/versioning_spec.rb
334
- - spec/unit/mongoid_spec.rb
227
+ - lib/mongoid.rb
228
+ - MIT_LICENSE
229
+ - README.rdoc
335
230
  has_rdoc: true
336
231
  homepage: http://mongoid.org
337
232
  licenses: []
338
233
 
339
234
  post_install_message:
340
- rdoc_options:
341
- - --charset=UTF-8
235
+ rdoc_options: []
236
+
342
237
  require_paths:
343
238
  - lib
344
239
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -353,130 +248,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
353
248
  - - ">="
354
249
  - !ruby/object:Gem::Version
355
250
  segments:
356
- - 0
357
- version: "0"
251
+ - 1
252
+ - 3
253
+ - 6
254
+ version: 1.3.6
358
255
  requirements: []
359
256
 
360
- rubyforge_project:
257
+ rubyforge_project: mongoid
361
258
  rubygems_version: 1.3.6
362
259
  signing_key:
363
260
  specification_version: 3
364
- summary: ODM framework for MongoDB
365
- test_files:
366
- - spec/integration/mongoid/associations_spec.rb
367
- - spec/integration/mongoid/attributes_spec.rb
368
- - spec/integration/mongoid/commands_spec.rb
369
- - spec/integration/mongoid/contexts/enumerable_spec.rb
370
- - spec/integration/mongoid/criteria_spec.rb
371
- - spec/integration/mongoid/document_spec.rb
372
- - spec/integration/mongoid/extensions_spec.rb
373
- - spec/integration/mongoid/finders_spec.rb
374
- - spec/integration/mongoid/inheritance_spec.rb
375
- - spec/integration/mongoid/named_scope_spec.rb
376
- - spec/models/address.rb
377
- - spec/models/animal.rb
378
- - spec/models/callbacks.rb
379
- - spec/models/comment.rb
380
- - spec/models/country_code.rb
381
- - spec/models/employer.rb
382
- - spec/models/game.rb
383
- - spec/models/inheritance.rb
384
- - spec/models/location.rb
385
- - spec/models/mixed_drink.rb
386
- - spec/models/name.rb
387
- - spec/models/namespacing.rb
388
- - spec/models/patient.rb
389
- - spec/models/person.rb
390
- - spec/models/pet.rb
391
- - spec/models/pet_owner.rb
392
- - spec/models/phone.rb
393
- - spec/models/post.rb
394
- - spec/models/translation.rb
395
- - spec/models/vet_visit.rb
396
- - spec/spec_helper.rb
397
- - spec/unit/mongoid/associations/belongs_to_related_spec.rb
398
- - spec/unit/mongoid/associations/belongs_to_spec.rb
399
- - spec/unit/mongoid/associations/has_many_related_spec.rb
400
- - spec/unit/mongoid/associations/has_many_spec.rb
401
- - spec/unit/mongoid/associations/has_one_related_spec.rb
402
- - spec/unit/mongoid/associations/has_one_spec.rb
403
- - spec/unit/mongoid/associations/meta_data_spec.rb
404
- - spec/unit/mongoid/associations/options_spec.rb
405
- - spec/unit/mongoid/associations_spec.rb
406
- - spec/unit/mongoid/attributes_spec.rb
407
- - spec/unit/mongoid/callbacks_spec.rb
408
- - spec/unit/mongoid/collection_spec.rb
409
- - spec/unit/mongoid/collections/cyclic_iterator_spec.rb
410
- - spec/unit/mongoid/collections/master_spec.rb
411
- - spec/unit/mongoid/collections/mimic_spec.rb
412
- - spec/unit/mongoid/collections/slaves_spec.rb
413
- - spec/unit/mongoid/commands/create_spec.rb
414
- - spec/unit/mongoid/commands/delete_all_spec.rb
415
- - spec/unit/mongoid/commands/delete_spec.rb
416
- - spec/unit/mongoid/commands/destroy_all_spec.rb
417
- - spec/unit/mongoid/commands/destroy_spec.rb
418
- - spec/unit/mongoid/commands/save_spec.rb
419
- - spec/unit/mongoid/commands_spec.rb
420
- - spec/unit/mongoid/config_spec.rb
421
- - spec/unit/mongoid/contexts/enumerable_spec.rb
422
- - spec/unit/mongoid/contexts/mongo_spec.rb
423
- - spec/unit/mongoid/contexts_spec.rb
424
- - spec/unit/mongoid/criteria_spec.rb
425
- - spec/unit/mongoid/criterion/complex_spec.rb
426
- - spec/unit/mongoid/criterion/exclusion_spec.rb
427
- - spec/unit/mongoid/criterion/inclusion_spec.rb
428
- - spec/unit/mongoid/criterion/optional_spec.rb
429
- - spec/unit/mongoid/cursor_spec.rb
430
- - spec/unit/mongoid/deprecation_spec.rb
431
- - spec/unit/mongoid/document_spec.rb
432
- - spec/unit/mongoid/errors_spec.rb
433
- - spec/unit/mongoid/extensions/array/accessors_spec.rb
434
- - spec/unit/mongoid/extensions/array/assimilation_spec.rb
435
- - spec/unit/mongoid/extensions/array/conversions_spec.rb
436
- - spec/unit/mongoid/extensions/array/parentization_spec.rb
437
- - spec/unit/mongoid/extensions/big_decimal/conversions_spec.rb
438
- - spec/unit/mongoid/extensions/binary/conversions_spec.rb
439
- - spec/unit/mongoid/extensions/boolean/conversions_spec.rb
440
- - spec/unit/mongoid/extensions/date/conversions_spec.rb
441
- - spec/unit/mongoid/extensions/datetime/conversions_spec.rb
442
- - spec/unit/mongoid/extensions/float/conversions_spec.rb
443
- - spec/unit/mongoid/extensions/hash/accessors_spec.rb
444
- - spec/unit/mongoid/extensions/hash/assimilation_spec.rb
445
- - spec/unit/mongoid/extensions/hash/conversions_spec.rb
446
- - spec/unit/mongoid/extensions/hash/criteria_helpers_spec.rb
447
- - spec/unit/mongoid/extensions/hash/scoping_spec.rb
448
- - spec/unit/mongoid/extensions/integer/conversions_spec.rb
449
- - spec/unit/mongoid/extensions/nil/assimilation_spec.rb
450
- - spec/unit/mongoid/extensions/object/conversions_spec.rb
451
- - spec/unit/mongoid/extensions/proc/scoping_spec.rb
452
- - spec/unit/mongoid/extensions/string/conversions_spec.rb
453
- - spec/unit/mongoid/extensions/string/inflections_spec.rb
454
- - spec/unit/mongoid/extensions/symbol/inflections_spec.rb
455
- - spec/unit/mongoid/extensions/time/conversions_spec.rb
456
- - spec/unit/mongoid/extras_spec.rb
457
- - spec/unit/mongoid/factory_spec.rb
458
- - spec/unit/mongoid/field_spec.rb
459
- - spec/unit/mongoid/fields_spec.rb
460
- - spec/unit/mongoid/finders_spec.rb
461
- - spec/unit/mongoid/identity_spec.rb
462
- - spec/unit/mongoid/indexes_spec.rb
463
- - spec/unit/mongoid/javascript_spec.rb
464
- - spec/unit/mongoid/matchers/all_spec.rb
465
- - spec/unit/mongoid/matchers/default_spec.rb
466
- - spec/unit/mongoid/matchers/exists_spec.rb
467
- - spec/unit/mongoid/matchers/gt_spec.rb
468
- - spec/unit/mongoid/matchers/gte_spec.rb
469
- - spec/unit/mongoid/matchers/in_spec.rb
470
- - spec/unit/mongoid/matchers/lt_spec.rb
471
- - spec/unit/mongoid/matchers/lte_spec.rb
472
- - spec/unit/mongoid/matchers/ne_spec.rb
473
- - spec/unit/mongoid/matchers/nin_spec.rb
474
- - spec/unit/mongoid/matchers/size_spec.rb
475
- - spec/unit/mongoid/matchers_spec.rb
476
- - spec/unit/mongoid/memoization_spec.rb
477
- - spec/unit/mongoid/named_scope_spec.rb
478
- - spec/unit/mongoid/scope_spec.rb
479
- - spec/unit/mongoid/state_spec.rb
480
- - spec/unit/mongoid/timestamps_spec.rb
481
- - spec/unit/mongoid/versioning_spec.rb
482
- - spec/unit/mongoid_spec.rb
261
+ summary: Elegent Persistance in Ruby for MongoDB.
262
+ test_files: []
263
+