mongoid 2.0.0.rc.7 → 2.0.0.rc.8
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.
- data/lib/config/locales/en.yml +3 -0
- data/lib/config/locales/id.yml +46 -0
- data/lib/config/locales/ja.yml +40 -0
- data/lib/config/locales/vi.yml +45 -0
- data/lib/mongoid.rb +5 -3
- data/lib/mongoid/attributes.rb +24 -63
- data/lib/mongoid/attributes/processing.rb +5 -2
- data/lib/mongoid/callbacks.rb +10 -0
- data/lib/mongoid/collection.rb +24 -0
- data/lib/mongoid/collections/master.rb +14 -6
- data/lib/mongoid/collections/operations.rb +1 -1
- data/lib/mongoid/collections/retry.rb +39 -0
- data/lib/mongoid/collections/slaves.rb +26 -10
- data/lib/mongoid/components.rb +4 -4
- data/lib/mongoid/config.rb +6 -3
- data/lib/mongoid/contexts.rb +0 -1
- data/lib/mongoid/contexts/enumerable.rb +19 -7
- data/lib/mongoid/contexts/mongo.rb +9 -5
- data/lib/mongoid/copyable.rb +10 -8
- data/lib/mongoid/criteria.rb +83 -61
- data/lib/mongoid/criterion/builder.rb +34 -0
- data/lib/mongoid/criterion/creational.rb +2 -2
- data/lib/mongoid/criterion/exclusion.rb +58 -32
- data/lib/mongoid/criterion/inclusion.rb +49 -10
- data/lib/mongoid/criterion/optional.rb +1 -1
- data/lib/mongoid/criterion/selector.rb +80 -11
- data/lib/mongoid/cursor.rb +6 -1
- data/lib/mongoid/default_scope.rb +27 -19
- data/lib/mongoid/document.rb +26 -1
- data/lib/mongoid/errors.rb +1 -0
- data/lib/mongoid/errors/mixed_relations.rb +37 -0
- data/lib/mongoid/extensions/object_id/conversions.rb +7 -4
- data/lib/mongoid/factory.rb +1 -1
- data/lib/mongoid/field.rb +47 -30
- data/lib/mongoid/fields.rb +9 -2
- data/lib/mongoid/finders.rb +15 -49
- data/lib/mongoid/identity.rb +6 -4
- data/lib/mongoid/keys.rb +85 -31
- data/lib/mongoid/multi_parameter_attributes.rb +2 -2
- data/lib/mongoid/named_scope.rb +129 -28
- data/lib/mongoid/observer.rb +36 -0
- data/lib/mongoid/paranoia.rb +3 -3
- data/lib/mongoid/paths.rb +1 -1
- data/lib/mongoid/persistence.rb +2 -0
- data/lib/mongoid/persistence/atomic.rb +88 -0
- data/lib/mongoid/persistence/atomic/add_to_set.rb +30 -0
- data/lib/mongoid/persistence/atomic/inc.rb +28 -0
- data/lib/mongoid/persistence/atomic/operation.rb +44 -0
- data/lib/mongoid/persistence/atomic/pull_all.rb +33 -0
- data/lib/mongoid/persistence/atomic/push.rb +28 -0
- data/lib/mongoid/railtie.rb +13 -1
- data/lib/mongoid/relations.rb +1 -0
- data/lib/mongoid/relations/accessors.rb +20 -2
- data/lib/mongoid/relations/builders/embedded/one.rb +1 -0
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +17 -6
- data/lib/mongoid/relations/builders/referenced/many.rb +2 -1
- data/lib/mongoid/relations/builders/referenced/one.rb +1 -0
- data/lib/mongoid/relations/embedded/atomic.rb +86 -0
- data/lib/mongoid/relations/embedded/atomic/operation.rb +63 -0
- data/lib/mongoid/relations/embedded/atomic/pull.rb +65 -0
- data/lib/mongoid/relations/embedded/atomic/push_all.rb +59 -0
- data/lib/mongoid/relations/embedded/atomic/set.rb +61 -0
- data/lib/mongoid/relations/embedded/atomic/unset.rb +41 -0
- data/lib/mongoid/relations/embedded/many.rb +57 -25
- data/lib/mongoid/relations/macros.rb +6 -4
- data/lib/mongoid/relations/many.rb +51 -10
- data/lib/mongoid/relations/metadata.rb +4 -2
- data/lib/mongoid/relations/proxy.rb +39 -24
- data/lib/mongoid/relations/referenced/many.rb +47 -26
- data/lib/mongoid/relations/referenced/many_to_many.rb +47 -14
- data/lib/mongoid/relations/referenced/one.rb +14 -0
- data/lib/mongoid/sharding.rb +51 -0
- data/lib/mongoid/state.rb +3 -2
- data/lib/mongoid/timestamps.rb +5 -29
- data/lib/mongoid/timestamps/created.rb +31 -0
- data/lib/mongoid/timestamps/updated.rb +33 -0
- data/lib/mongoid/validations.rb +10 -3
- data/lib/mongoid/validations/referenced.rb +58 -0
- data/lib/mongoid/version.rb +1 -1
- data/lib/mongoid/versioning.rb +67 -5
- data/lib/rails/generators/mongoid/model/templates/model.rb +2 -0
- data/lib/rails/generators/mongoid/observer/observer_generator.rb +17 -0
- data/lib/rails/generators/mongoid/observer/templates/observer.rb +4 -0
- data/lib/rails/generators/mongoid_generator.rb +10 -1
- data/lib/rails/mongoid.rb +1 -0
- metadata +29 -8
- data/lib/mongoid/contexts/ids.rb +0 -25
- data/lib/mongoid/modifiers.rb +0 -24
- data/lib/mongoid/modifiers/command.rb +0 -18
- data/lib/mongoid/modifiers/inc.rb +0 -24
data/lib/mongoid/contexts/ids.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
module Mongoid #:nodoc:
|
3
|
-
module Contexts #:nodoc:
|
4
|
-
module Ids
|
5
|
-
# Return documents based on an id search. Will handle if a single id has
|
6
|
-
# been passed or mulitple ids.
|
7
|
-
#
|
8
|
-
# Example:
|
9
|
-
#
|
10
|
-
# context.id_criteria([1, 2, 3])
|
11
|
-
#
|
12
|
-
# Returns:
|
13
|
-
#
|
14
|
-
# The single or multiple documents.
|
15
|
-
def id_criteria(params)
|
16
|
-
self.criteria = criteria.id(params)
|
17
|
-
result = params.is_a?(Array) ? criteria.entries : one
|
18
|
-
if Mongoid.raise_not_found_error && !params.blank?
|
19
|
-
raise Errors::DocumentNotFound.new(klass, params) if result.blank?
|
20
|
-
end
|
21
|
-
return result
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/lib/mongoid/modifiers.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "mongoid/modifiers/command"
|
3
|
-
require "mongoid/modifiers/inc"
|
4
|
-
|
5
|
-
module Mongoid #:nodoc:
|
6
|
-
module Modifiers #:nodoc:
|
7
|
-
extend ActiveSupport::Concern
|
8
|
-
|
9
|
-
# Increment the field by the provided value, else if it doesn't exists set
|
10
|
-
# it to that value.
|
11
|
-
#
|
12
|
-
# Options:
|
13
|
-
#
|
14
|
-
# field: The field to increment.
|
15
|
-
# value: The value to increment by.
|
16
|
-
# options: Options to pass through to the driver.
|
17
|
-
def inc(field, value, options = {})
|
18
|
-
current = send(field)
|
19
|
-
write_attribute(field, (current ? (current + value) : value))
|
20
|
-
Inc.new(self, options).persist(field, value)
|
21
|
-
current + value
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
module Mongoid #:nodoc:
|
3
|
-
module Modifiers #:nodoc:
|
4
|
-
class Command #:nodoc:
|
5
|
-
include Mongoid::Safe
|
6
|
-
|
7
|
-
# Instantiate the new $inc modifier.
|
8
|
-
#
|
9
|
-
# Options:
|
10
|
-
#
|
11
|
-
# klass: The class to get the collection from.
|
12
|
-
# options: The options to get passed through to the driver.
|
13
|
-
def initialize(document, options = {})
|
14
|
-
@document, @options = document, options
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
module Mongoid #:nodoc:
|
3
|
-
module Modifiers #:nodoc:
|
4
|
-
class Inc < Command #:nodoc:
|
5
|
-
|
6
|
-
# Execute the persistence operation. This will increment the provided
|
7
|
-
# field by the supplied value. If no field exists, it will be created and
|
8
|
-
# set to the value provided.
|
9
|
-
#
|
10
|
-
# Options:
|
11
|
-
#
|
12
|
-
# field: The field to increment.
|
13
|
-
# value: The number to increment by.
|
14
|
-
def persist(field, value)
|
15
|
-
@document.collection.update(
|
16
|
-
@document._selector,
|
17
|
-
{ "$inc" => { field => value } },
|
18
|
-
:safe => safe_mode?(@options),
|
19
|
-
:multi => false
|
20
|
-
)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|