mongoid 2.4.10 → 3.0.0.rc
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/CHANGELOG.md +843 -9
- data/LICENSE +1 -1
- data/README.md +10 -11
- data/Rakefile +2 -17
- data/lib/config/locales/en.yml +441 -51
- data/lib/mongoid/atomic/modifiers.rb +2 -2
- data/lib/mongoid/atomic/paths/embedded/many.rb +6 -6
- data/lib/mongoid/atomic/paths/embedded/one.rb +5 -5
- data/lib/mongoid/atomic/paths/embedded.rb +4 -5
- data/lib/mongoid/atomic/paths/root.rb +4 -5
- data/lib/mongoid/atomic.rb +16 -9
- data/lib/mongoid/attributes/processing.rb +14 -10
- data/lib/mongoid/attributes/readonly.rb +56 -0
- data/lib/mongoid/attributes.rb +95 -32
- data/lib/mongoid/callbacks.rb +100 -42
- data/lib/mongoid/collections/retry.rb +2 -3
- data/lib/mongoid/components.rb +10 -22
- data/lib/mongoid/config/environment.rb +4 -3
- data/lib/mongoid/config/inflections.rb +6 -0
- data/lib/mongoid/config/options.rb +1 -1
- data/lib/mongoid/config/validators/option.rb +25 -0
- data/lib/mongoid/config/validators/session.rb +140 -0
- data/lib/mongoid/config/validators.rb +3 -0
- data/lib/mongoid/config.rb +87 -233
- data/lib/mongoid/contextual/aggregable/memory.rb +98 -0
- data/lib/mongoid/contextual/aggregable/mongo.rb +181 -0
- data/lib/mongoid/contextual/atomic.rb +179 -0
- data/lib/mongoid/contextual/command.rb +43 -0
- data/lib/mongoid/contextual/find_and_modify.rb +66 -0
- data/lib/mongoid/contextual/map_reduce.rb +273 -0
- data/lib/mongoid/contextual/memory.rb +383 -0
- data/lib/mongoid/contextual/mongo.rb +543 -0
- data/lib/mongoid/contextual.rb +50 -0
- data/lib/mongoid/copyable.rb +2 -2
- data/lib/mongoid/criteria.rb +436 -248
- data/lib/mongoid/criterion/inspection.rb +14 -8
- data/lib/mongoid/criterion/scoping.rb +114 -44
- data/lib/mongoid/dirty.rb +152 -67
- data/lib/mongoid/document.rb +68 -49
- data/lib/mongoid/errors/ambiguous_relationship.rb +51 -0
- data/lib/mongoid/errors/callback.rb +5 -6
- data/lib/mongoid/errors/delete_restriction.rb +29 -0
- data/lib/mongoid/errors/document_not_found.rb +98 -17
- data/lib/mongoid/errors/eager_load.rb +3 -6
- data/lib/mongoid/errors/invalid_collection.rb +3 -3
- data/lib/mongoid/errors/invalid_config_option.rb +27 -0
- data/lib/mongoid/errors/invalid_database.rb +3 -3
- data/lib/mongoid/errors/invalid_field.rb +54 -8
- data/lib/mongoid/errors/invalid_field_option.rb +35 -0
- data/lib/mongoid/errors/invalid_find.rb +3 -3
- data/lib/mongoid/errors/invalid_index.rb +28 -0
- data/lib/mongoid/errors/invalid_options.rb +4 -4
- data/lib/mongoid/errors/invalid_scope.rb +24 -0
- data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +38 -0
- data/lib/mongoid/errors/invalid_storage_options.rb +27 -0
- data/lib/mongoid/errors/invalid_time.rb +3 -6
- data/lib/mongoid/errors/inverse_not_found.rb +29 -0
- data/lib/mongoid/errors/mixed_relations.rb +4 -9
- data/lib/mongoid/errors/mixed_session_configuration.rb +28 -0
- data/lib/mongoid/errors/mongoid_error.rb +54 -3
- data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +28 -0
- data/lib/mongoid/errors/no_default_session.rb +23 -0
- data/lib/mongoid/errors/no_environment.rb +3 -3
- data/lib/mongoid/errors/no_map_reduce_output.rb +24 -0
- data/lib/mongoid/errors/no_parent.rb +24 -0
- data/lib/mongoid/errors/no_session_config.rb +22 -0
- data/lib/mongoid/errors/no_session_database.rb +27 -0
- data/lib/mongoid/errors/no_session_hosts.rb +27 -0
- data/lib/mongoid/errors/no_sessions_config.rb +20 -0
- data/lib/mongoid/errors/readonly_attribute.rb +25 -0
- data/lib/mongoid/errors/scope_overwrite.rb +4 -4
- data/lib/mongoid/errors/too_many_nested_attribute_records.rb +4 -4
- data/lib/mongoid/errors/unknown_attribute.rb +25 -0
- data/lib/mongoid/errors/unsaved_document.rb +4 -8
- data/lib/mongoid/errors/unsupported_javascript.rb +27 -0
- data/lib/mongoid/errors/unsupported_version.rb +4 -4
- data/lib/mongoid/errors/validations.rb +7 -6
- data/lib/mongoid/errors/versioning_not_on_root.rb +23 -0
- data/lib/mongoid/errors.rb +22 -1
- data/lib/mongoid/extensions/array.rb +127 -0
- data/lib/mongoid/extensions/big_decimal.rb +42 -0
- data/lib/mongoid/extensions/boolean.rb +24 -0
- data/lib/mongoid/extensions/date.rb +70 -0
- data/lib/mongoid/extensions/date_time.rb +68 -0
- data/lib/mongoid/extensions/false_class.rb +26 -0
- data/lib/mongoid/extensions/float.rb +44 -0
- data/lib/mongoid/extensions/hash.rb +91 -0
- data/lib/mongoid/extensions/integer.rb +54 -0
- data/lib/mongoid/extensions/module.rb +28 -0
- data/lib/mongoid/extensions/nil_class.rb +21 -0
- data/lib/mongoid/extensions/object.rb +188 -0
- data/lib/mongoid/extensions/object_id.rb +53 -0
- data/lib/mongoid/extensions/range.rb +55 -0
- data/lib/mongoid/extensions/regexp.rb +27 -0
- data/lib/mongoid/extensions/set.rb +55 -0
- data/lib/mongoid/extensions/string.rb +155 -0
- data/lib/mongoid/extensions/symbol.rb +54 -0
- data/lib/mongoid/extensions/time.rb +78 -0
- data/lib/mongoid/extensions/time_with_zone.rb +55 -0
- data/lib/mongoid/extensions/true_class.rb +26 -0
- data/lib/mongoid/extensions.rb +28 -76
- data/lib/mongoid/factory.rb +1 -1
- data/lib/mongoid/fields/foreign_key.rb +134 -0
- data/lib/mongoid/fields/localized.rb +73 -0
- data/lib/mongoid/fields/standard.rb +268 -0
- data/lib/mongoid/fields/validators/macro.rb +83 -0
- data/lib/mongoid/fields/validators.rb +2 -0
- data/lib/mongoid/fields.rb +129 -194
- data/lib/mongoid/finders.rb +42 -43
- data/lib/mongoid/hierarchy.rb +25 -14
- data/lib/mongoid/identity_map.rb +31 -19
- data/lib/mongoid/indexes/validators/options.rb +80 -0
- data/lib/mongoid/indexes.rb +66 -15
- data/lib/mongoid/inspection.rb +1 -1
- data/lib/mongoid/javascript.rb +1 -1
- data/lib/mongoid/json.rb +2 -2
- data/lib/mongoid/loggable.rb +69 -0
- data/lib/mongoid/matchers/all.rb +7 -8
- data/lib/mongoid/matchers/and.rb +3 -3
- data/lib/mongoid/matchers/default.rb +6 -4
- data/lib/mongoid/matchers/exists.rb +2 -2
- data/lib/mongoid/matchers/gt.rb +2 -2
- data/lib/mongoid/matchers/gte.rb +2 -2
- data/lib/mongoid/matchers/in.rb +3 -7
- data/lib/mongoid/matchers/lt.rb +2 -2
- data/lib/mongoid/matchers/lte.rb +2 -2
- data/lib/mongoid/matchers/ne.rb +2 -2
- data/lib/mongoid/matchers/nin.rb +2 -2
- data/lib/mongoid/matchers/or.rb +2 -2
- data/lib/mongoid/matchers/size.rb +2 -2
- data/lib/mongoid/matchers/strategies.rb +3 -3
- data/lib/mongoid/matchers.rb +1 -1
- data/lib/mongoid/multi_parameter_attributes.rb +8 -10
- data/lib/mongoid/nested_attributes.rb +17 -9
- data/lib/mongoid/observer.rb +1 -2
- data/lib/mongoid/paranoia.rb +13 -18
- data/lib/mongoid/persistence/atomic/add_to_set.rb +5 -9
- data/lib/mongoid/persistence/atomic/bit.rb +5 -7
- data/lib/mongoid/persistence/atomic/inc.rb +5 -7
- data/lib/mongoid/persistence/atomic/operation.rb +45 -6
- data/lib/mongoid/persistence/atomic/pop.rb +5 -7
- data/lib/mongoid/persistence/atomic/pull.rb +5 -7
- data/lib/mongoid/persistence/atomic/pull_all.rb +5 -7
- data/lib/mongoid/persistence/atomic/push.rb +4 -10
- data/lib/mongoid/persistence/atomic/push_all.rb +4 -10
- data/lib/mongoid/persistence/atomic/rename.rb +6 -7
- data/lib/mongoid/persistence/atomic/sets.rb +5 -7
- data/lib/mongoid/persistence/atomic/unset.rb +4 -5
- data/lib/mongoid/persistence/atomic.rb +2 -2
- data/lib/mongoid/persistence/deletion.rb +2 -2
- data/lib/mongoid/persistence/insertion.rb +10 -16
- data/lib/mongoid/persistence/modification.rb +5 -9
- data/lib/mongoid/persistence/operations/embedded/insert.rb +7 -6
- data/lib/mongoid/persistence/operations/embedded/remove.rb +5 -5
- data/lib/mongoid/persistence/operations/insert.rb +4 -4
- data/lib/mongoid/persistence/operations/remove.rb +4 -4
- data/lib/mongoid/persistence/operations/update.rb +5 -5
- data/lib/mongoid/persistence/operations.rb +6 -19
- data/lib/mongoid/persistence.rb +64 -27
- data/lib/mongoid/railtie.rb +26 -11
- data/lib/mongoid/railties/database.rake +22 -108
- data/lib/mongoid/relations/accessors.rb +119 -19
- data/lib/mongoid/relations/auto_save.rb +59 -5
- data/lib/mongoid/relations/binding.rb +211 -2
- data/lib/mongoid/relations/bindings/embedded/in.rb +16 -22
- data/lib/mongoid/relations/bindings/embedded/many.rb +9 -50
- data/lib/mongoid/relations/bindings/embedded/one.rb +10 -16
- data/lib/mongoid/relations/bindings/referenced/in.rb +31 -57
- data/lib/mongoid/relations/bindings/referenced/many.rb +8 -20
- data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +15 -19
- data/lib/mongoid/relations/bindings/referenced/one.rb +10 -24
- data/lib/mongoid/relations/builder.rb +3 -3
- data/lib/mongoid/relations/builders/embedded/in.rb +5 -5
- data/lib/mongoid/relations/builders/embedded/many.rb +12 -12
- data/lib/mongoid/relations/builders/embedded/one.rb +6 -6
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +8 -8
- data/lib/mongoid/relations/builders/nested_attributes/one.rb +4 -4
- data/lib/mongoid/relations/builders/referenced/in.rb +4 -4
- data/lib/mongoid/relations/builders/referenced/many.rb +5 -5
- data/lib/mongoid/relations/builders/referenced/many_to_many.rb +7 -5
- data/lib/mongoid/relations/builders/referenced/one.rb +5 -5
- data/lib/mongoid/relations/builders.rb +19 -16
- data/lib/mongoid/relations/cascading/delete.rb +3 -5
- data/lib/mongoid/relations/cascading/destroy.rb +3 -3
- data/lib/mongoid/relations/cascading/nullify.rb +3 -3
- data/lib/mongoid/relations/cascading/restrict.rb +37 -0
- data/lib/mongoid/relations/cascading.rb +6 -4
- data/lib/mongoid/relations/constraint.rb +4 -3
- data/lib/mongoid/relations/conversions.rb +5 -6
- data/lib/mongoid/relations/cyclic.rb +7 -7
- data/lib/mongoid/relations/embedded/batchable.rb +346 -0
- data/lib/mongoid/relations/embedded/in.rb +23 -12
- data/lib/mongoid/relations/embedded/many.rb +99 -160
- data/lib/mongoid/relations/embedded/one.rb +25 -14
- data/lib/mongoid/relations/macros.rb +105 -60
- data/lib/mongoid/relations/many.rb +93 -14
- data/lib/mongoid/relations/metadata.rb +231 -45
- data/lib/mongoid/relations/nested_builder.rb +3 -5
- data/lib/mongoid/relations/one.rb +2 -2
- data/lib/mongoid/relations/options.rb +2 -2
- data/lib/mongoid/relations/polymorphic.rb +9 -9
- data/lib/mongoid/relations/proxy.rb +60 -31
- data/lib/mongoid/relations/referenced/in.rb +40 -15
- data/lib/mongoid/relations/referenced/many.rb +116 -128
- data/lib/mongoid/relations/referenced/many_to_many.rb +101 -46
- data/lib/mongoid/relations/referenced/one.rb +34 -13
- data/lib/mongoid/relations/reflections.rb +3 -3
- data/lib/mongoid/relations/synchronization.rb +19 -23
- data/lib/mongoid/relations/targets/enumerable.rb +86 -57
- data/lib/mongoid/relations/touchable.rb +32 -0
- data/lib/mongoid/relations.rb +6 -6
- data/lib/mongoid/reloading.rb +12 -14
- data/lib/mongoid/scoping.rb +329 -0
- data/lib/mongoid/serialization.rb +13 -30
- data/lib/mongoid/sessions/factory.rb +106 -0
- data/lib/mongoid/sessions/mongo_uri.rb +93 -0
- data/lib/mongoid/sessions/validators/storage.rb +49 -0
- data/lib/mongoid/sessions/validators.rb +2 -0
- data/lib/mongoid/sessions.rb +359 -0
- data/lib/mongoid/sharding.rb +6 -6
- data/lib/mongoid/state.rb +6 -7
- data/lib/mongoid/threaded/lifecycle.rb +21 -21
- data/lib/mongoid/threaded/sessions.rb +0 -0
- data/lib/mongoid/threaded.rb +167 -59
- data/lib/mongoid/timestamps/created.rb +8 -4
- data/lib/mongoid/timestamps/timeless.rb +6 -4
- data/lib/mongoid/timestamps/updated.rb +3 -3
- data/lib/mongoid/timestamps.rb +1 -1
- data/lib/mongoid/unit_of_work.rb +61 -0
- data/lib/mongoid/validations/associated.rb +2 -2
- data/lib/mongoid/validations/format.rb +2 -2
- data/lib/mongoid/validations/presence.rb +34 -4
- data/lib/mongoid/validations/uniqueness.rb +8 -10
- data/lib/mongoid/validations.rb +28 -20
- data/lib/mongoid/version.rb +2 -2
- data/lib/mongoid/versioning.rb +25 -26
- data/lib/mongoid.rb +24 -39
- data/lib/rack/mongoid/middleware/identity_map.rb +3 -3
- data/lib/rails/generators/mongoid/config/config_generator.rb +1 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +59 -19
- data/lib/rails/generators/mongoid/model/model_generator.rb +7 -7
- data/lib/rails/generators/mongoid/model/templates/model.rb.tt +2 -2
- data/lib/rails/generators/mongoid/observer/observer_generator.rb +4 -4
- data/lib/rails/generators/mongoid_generator.rb +5 -5
- data/lib/rails/mongoid.rb +69 -25
- metadata +92 -154
- data/lib/config/locales/bg.yml +0 -61
- data/lib/config/locales/de.yml +0 -61
- data/lib/config/locales/en-GB.yml +0 -64
- data/lib/config/locales/es.yml +0 -59
- data/lib/config/locales/fr.yml +0 -62
- data/lib/config/locales/hi.yml +0 -53
- data/lib/config/locales/hu.yml +0 -64
- data/lib/config/locales/id.yml +0 -62
- data/lib/config/locales/it.yml +0 -59
- data/lib/config/locales/ja.yml +0 -57
- data/lib/config/locales/kr.yml +0 -54
- data/lib/config/locales/nl.yml +0 -61
- data/lib/config/locales/pl.yml +0 -59
- data/lib/config/locales/pt-BR.yml +0 -60
- data/lib/config/locales/pt.yml +0 -60
- data/lib/config/locales/ro.yml +0 -66
- data/lib/config/locales/ru.yml +0 -61
- data/lib/config/locales/sv.yml +0 -60
- data/lib/config/locales/vi.yml +0 -62
- data/lib/config/locales/zh-CN.yml +0 -53
- data/lib/mongoid/collection.rb +0 -157
- data/lib/mongoid/collections/master.rb +0 -45
- data/lib/mongoid/collections/operations.rb +0 -44
- data/lib/mongoid/collections.rb +0 -120
- data/lib/mongoid/config/database.rb +0 -181
- data/lib/mongoid/config/replset_database.rb +0 -80
- data/lib/mongoid/contexts/enumerable/sort.rb +0 -43
- data/lib/mongoid/contexts/enumerable.rb +0 -313
- data/lib/mongoid/contexts/mongo.rb +0 -487
- data/lib/mongoid/contexts.rb +0 -25
- data/lib/mongoid/criterion/builder.rb +0 -34
- data/lib/mongoid/criterion/complex.rb +0 -84
- data/lib/mongoid/criterion/creational.rb +0 -34
- data/lib/mongoid/criterion/exclusion.rb +0 -108
- data/lib/mongoid/criterion/inclusion.rb +0 -290
- data/lib/mongoid/criterion/optional.rb +0 -259
- data/lib/mongoid/criterion/selector.rb +0 -177
- data/lib/mongoid/cursor.rb +0 -88
- data/lib/mongoid/default_scope.rb +0 -36
- data/lib/mongoid/errors/invalid_type.rb +0 -25
- data/lib/mongoid/extensions/array/deep_copy.rb +0 -25
- data/lib/mongoid/extensions/array/deletion.rb +0 -29
- data/lib/mongoid/extensions/false_class/equality.rb +0 -26
- data/lib/mongoid/extensions/hash/criteria_helpers.rb +0 -47
- data/lib/mongoid/extensions/hash/deep_copy.rb +0 -25
- data/lib/mongoid/extensions/hash/scoping.rb +0 -25
- data/lib/mongoid/extensions/integer/checks.rb +0 -23
- data/lib/mongoid/extensions/nil/collectionization.rb +0 -23
- data/lib/mongoid/extensions/object/checks.rb +0 -29
- data/lib/mongoid/extensions/object/deep_copy.rb +0 -21
- data/lib/mongoid/extensions/object/reflections.rb +0 -48
- data/lib/mongoid/extensions/object/substitutable.rb +0 -15
- data/lib/mongoid/extensions/object/yoda.rb +0 -44
- data/lib/mongoid/extensions/object_id/conversions.rb +0 -60
- data/lib/mongoid/extensions/proc/scoping.rb +0 -25
- data/lib/mongoid/extensions/string/checks.rb +0 -36
- data/lib/mongoid/extensions/string/conversions.rb +0 -22
- data/lib/mongoid/extensions/string/inflections.rb +0 -118
- data/lib/mongoid/extensions/symbol/checks.rb +0 -23
- data/lib/mongoid/extensions/symbol/inflections.rb +0 -67
- data/lib/mongoid/extensions/true_class/equality.rb +0 -26
- data/lib/mongoid/extras.rb +0 -31
- data/lib/mongoid/fields/internal/array.rb +0 -76
- data/lib/mongoid/fields/internal/big_decimal.rb +0 -63
- data/lib/mongoid/fields/internal/bignum.rb +0 -10
- data/lib/mongoid/fields/internal/binary.rb +0 -11
- data/lib/mongoid/fields/internal/boolean.rb +0 -58
- data/lib/mongoid/fields/internal/date.rb +0 -51
- data/lib/mongoid/fields/internal/date_time.rb +0 -28
- data/lib/mongoid/fields/internal/false_class.rb +0 -10
- data/lib/mongoid/fields/internal/fixnum.rb +0 -10
- data/lib/mongoid/fields/internal/float.rb +0 -47
- data/lib/mongoid/fields/internal/foreign_keys/array.rb +0 -88
- data/lib/mongoid/fields/internal/foreign_keys/object.rb +0 -56
- data/lib/mongoid/fields/internal/hash.rb +0 -11
- data/lib/mongoid/fields/internal/integer.rb +0 -59
- data/lib/mongoid/fields/internal/localized.rb +0 -62
- data/lib/mongoid/fields/internal/nil_class.rb +0 -53
- data/lib/mongoid/fields/internal/object.rb +0 -11
- data/lib/mongoid/fields/internal/object_id.rb +0 -46
- data/lib/mongoid/fields/internal/range.rb +0 -61
- data/lib/mongoid/fields/internal/set.rb +0 -57
- data/lib/mongoid/fields/internal/string.rb +0 -42
- data/lib/mongoid/fields/internal/symbol.rb +0 -43
- data/lib/mongoid/fields/internal/time.rb +0 -23
- data/lib/mongoid/fields/internal/time_with_zone.rb +0 -23
- data/lib/mongoid/fields/internal/timekeeping.rb +0 -122
- data/lib/mongoid/fields/internal/true_class.rb +0 -10
- data/lib/mongoid/fields/mappings.rb +0 -42
- data/lib/mongoid/fields/serializable.rb +0 -270
- data/lib/mongoid/identity.rb +0 -92
- data/lib/mongoid/keys.rb +0 -144
- data/lib/mongoid/logger.rb +0 -45
- data/lib/mongoid/multi_database.rb +0 -36
- data/lib/mongoid/named_scope.rb +0 -166
- data/lib/mongoid/relations/embedded/atomic/operation.rb +0 -63
- data/lib/mongoid/relations/embedded/atomic/pull.rb +0 -65
- data/lib/mongoid/relations/embedded/atomic/push_all.rb +0 -59
- data/lib/mongoid/relations/embedded/atomic/set.rb +0 -61
- data/lib/mongoid/relations/embedded/atomic/unset.rb +0 -41
- data/lib/mongoid/relations/embedded/atomic.rb +0 -89
- data/lib/mongoid/relations/referenced/batch/insert.rb +0 -57
- data/lib/mongoid/relations/referenced/batch.rb +0 -73
- data/lib/mongoid/safety.rb +0 -105
- data/lib/mongoid/scope.rb +0 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# Raised when invalid arguments are passed to #find.
|
|
6
6
|
class InvalidFind < MongoidError
|
|
@@ -12,7 +12,7 @@ module Mongoid #:nodoc
|
|
|
12
12
|
#
|
|
13
13
|
# @since 2.2.0
|
|
14
14
|
def initialize
|
|
15
|
-
super(
|
|
15
|
+
super(compose_message("calling_document_find_with_nil_is_invalid", {}))
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# Raised when an invalid index is defined.
|
|
6
|
+
class InvalidIndex < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the new error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the error.
|
|
11
|
+
# InvalidIndex.new(Band, name: 1)
|
|
12
|
+
#
|
|
13
|
+
# @param [ Class ] klass The model class.
|
|
14
|
+
# @param [ Hash ] spec The invalid specification.
|
|
15
|
+
# @param [ Hash ] options The invalid options.
|
|
16
|
+
#
|
|
17
|
+
# @since 3.0.0
|
|
18
|
+
def initialize(klass, spec, options)
|
|
19
|
+
super(
|
|
20
|
+
compose_message(
|
|
21
|
+
"invalid_index",
|
|
22
|
+
{ klass: klass.name, spec: spec, options: options }
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# Raised when invalid options are passed to a relation macro.
|
|
6
6
|
class InvalidOptions < MongoidError
|
|
@@ -17,9 +17,9 @@ module Mongoid #:nodoc
|
|
|
17
17
|
# @since 2.1.0
|
|
18
18
|
def initialize(name, invalid, valid)
|
|
19
19
|
super(
|
|
20
|
-
|
|
20
|
+
compose_message(
|
|
21
21
|
"invalid_options",
|
|
22
|
-
{ :
|
|
22
|
+
{ name: name, invalid: invalid, valid: valid.join(', ') }
|
|
23
23
|
)
|
|
24
24
|
)
|
|
25
25
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when defining a scope of an invalid type.
|
|
6
|
+
class InvalidScope < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the error.
|
|
11
|
+
# InvalidScope.new(Band, {})
|
|
12
|
+
#
|
|
13
|
+
# @param [ Class ] klass The model class.
|
|
14
|
+
# @param [ Object ] value The attempted scope value.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(klass, value)
|
|
18
|
+
super(
|
|
19
|
+
compose_message("invalid_scope", { klass: klass, value: value })
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# Raised when trying to set a polymorphic "references in" relation to a
|
|
6
|
+
# model with multiple "references many/one" relations pointing to that
|
|
7
|
+
# first model.
|
|
8
|
+
#
|
|
9
|
+
# @example Invalid setting of a polymorphic relation.
|
|
10
|
+
# class Face
|
|
11
|
+
# include Mongoid::Document
|
|
12
|
+
#
|
|
13
|
+
# has_one :left_eye, class_name: "Eye", as: :eyeable
|
|
14
|
+
# has_one :right_eye, class_name: "Eye", as: :eyeable
|
|
15
|
+
# end
|
|
16
|
+
#
|
|
17
|
+
# class Eye
|
|
18
|
+
# include Mongoid::Document
|
|
19
|
+
#
|
|
20
|
+
# belongs_to :eyeable, polymorphic: true
|
|
21
|
+
# end
|
|
22
|
+
#
|
|
23
|
+
# eye = Eye.new
|
|
24
|
+
# face = Face.new
|
|
25
|
+
# eye.eyeable = face # Raises error
|
|
26
|
+
|
|
27
|
+
class InvalidSetPolymorphicRelation < MongoidError
|
|
28
|
+
|
|
29
|
+
# Create the new invalid set polymorphic relation error.
|
|
30
|
+
#
|
|
31
|
+
# @example Create the error.
|
|
32
|
+
# InvalidSetPolymorphicRelation.new
|
|
33
|
+
def initialize(name, klass, other_klass)
|
|
34
|
+
super(compose_message("invalid_set_polymorphic_relation", { name: name, klass: klass, other_klass: other_klass }))
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# Raised when options provided to :store_in are invalid.
|
|
6
|
+
class InvalidStorageOptions < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the new error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the new error.
|
|
11
|
+
# InvalidStorageOptions.new(:collection_name)
|
|
12
|
+
#
|
|
13
|
+
# @param [ Class ] klass The model class.
|
|
14
|
+
# @param [ Hash, String, Symbol ] options The provided options.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(klass, options)
|
|
18
|
+
super(
|
|
19
|
+
compose_message(
|
|
20
|
+
"invalid_storage_options",
|
|
21
|
+
{ klass: klass, options: options }
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# This exception is raised when a bad value is attempted to be converted to
|
|
6
6
|
# a date or time.
|
|
7
7
|
class InvalidTime < MongoidError
|
|
8
8
|
|
|
9
|
-
attr_reader :klass, :value
|
|
10
|
-
|
|
11
9
|
# Create the new invalid date error.
|
|
12
10
|
#
|
|
13
11
|
# @example Create the new invalid date error.
|
|
@@ -17,8 +15,7 @@ module Mongoid #:nodoc
|
|
|
17
15
|
#
|
|
18
16
|
# @since 2.3.1
|
|
19
17
|
def initialize(value)
|
|
20
|
-
|
|
21
|
-
super(translate("invalid_time", { :value => value }))
|
|
18
|
+
super(compose_message("invalid_time", { value: value }))
|
|
22
19
|
end
|
|
23
20
|
end
|
|
24
21
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# Raised when no inverse_of definition can be found when needed.
|
|
6
|
+
class InverseNotFound < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create then new error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the new error.
|
|
11
|
+
# InverseNotFound.new(Town, :citizens, Person, :town_id)
|
|
12
|
+
#
|
|
13
|
+
# @param [ Class ] base The base class.
|
|
14
|
+
# @param [ Symbol ] name The name of the relation.
|
|
15
|
+
# @param [ Class ] The child class.
|
|
16
|
+
# @param [ Symbol ] inverse The attempted inverse key.
|
|
17
|
+
#
|
|
18
|
+
# @since 3.0.0
|
|
19
|
+
def initialize(base, name, klass, inverse)
|
|
20
|
+
super(
|
|
21
|
+
compose_message(
|
|
22
|
+
"inverse_not_found",
|
|
23
|
+
{ base: base, name: name, klass: klass, inverse: inverse }
|
|
24
|
+
)
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# This error is raised when trying to reference an embedded document from
|
|
6
6
|
# a document in another collection that is not it's parent.
|
|
@@ -19,16 +19,11 @@ module Mongoid #:nodoc
|
|
|
19
19
|
#
|
|
20
20
|
# @since 2.0.0
|
|
21
21
|
class MixedRelations < MongoidError
|
|
22
|
-
|
|
23
|
-
attr_reader :root_klass, :embedded_klass
|
|
24
|
-
|
|
25
22
|
def initialize(root_klass, embedded_klass)
|
|
26
|
-
@root_klass, @embedded_klass = root_klass, embedded_klass
|
|
27
|
-
|
|
28
23
|
super(
|
|
29
|
-
|
|
24
|
+
compose_message(
|
|
30
25
|
"mixed_relations",
|
|
31
|
-
{ :
|
|
26
|
+
{ root: root_klass, embedded: embedded_klass }
|
|
32
27
|
)
|
|
33
28
|
)
|
|
34
29
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when a session configuration contains both a uri and
|
|
6
|
+
# other standard options.
|
|
7
|
+
class MixedSessionConfiguration < MongoidError
|
|
8
|
+
|
|
9
|
+
# Initialize the error.
|
|
10
|
+
#
|
|
11
|
+
# @example Initialize the error.
|
|
12
|
+
# MixedSessionConfiguration.new(:name, {})
|
|
13
|
+
#
|
|
14
|
+
# @param [ Symbol ] name The name of the session config.
|
|
15
|
+
# @param [ Hash ] config The configuration options.
|
|
16
|
+
#
|
|
17
|
+
# @since 3.0.0
|
|
18
|
+
def initialize(name, config)
|
|
19
|
+
super(
|
|
20
|
+
compose_message(
|
|
21
|
+
"mixed_session_configuration",
|
|
22
|
+
{ name: name, config: config }
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# Default parent Mongoid error for all custom errors. This handles the base
|
|
6
6
|
# key for the translations and provides the convenience method for
|
|
7
7
|
# translating the messages.
|
|
8
8
|
class MongoidError < StandardError
|
|
9
|
+
|
|
9
10
|
BASE_KEY = "mongoid.errors.messages"
|
|
10
11
|
|
|
12
|
+
# Compose the message.
|
|
13
|
+
#
|
|
14
|
+
# @example Create the message
|
|
15
|
+
# error.compose_message
|
|
16
|
+
#
|
|
17
|
+
# @return [ String ] The composed message.
|
|
18
|
+
#
|
|
19
|
+
# @since 3.0.0
|
|
20
|
+
def compose_message(key, attributes)
|
|
21
|
+
"\nProblem:\n #{problem(key, attributes)}"+
|
|
22
|
+
"\nSummary:\n #{summary(key, attributes)}"+
|
|
23
|
+
"\nResolution:\n #{resolution(key, attributes)}"
|
|
24
|
+
end
|
|
25
|
+
|
|
11
26
|
# Given the key of the specific error and the options hash, translate the
|
|
12
27
|
# message.
|
|
13
28
|
#
|
|
@@ -19,7 +34,43 @@ module Mongoid #:nodoc
|
|
|
19
34
|
#
|
|
20
35
|
# @return [ String ] A localized error message string.
|
|
21
36
|
def translate(key, options)
|
|
22
|
-
::I18n.translate("#{BASE_KEY}.#{key}", options)
|
|
37
|
+
::I18n.translate("#{BASE_KEY}.#{key}", { locale: :en }.merge(options))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Create the problem.
|
|
41
|
+
#
|
|
42
|
+
# @example Create the problem.
|
|
43
|
+
# error.problem
|
|
44
|
+
#
|
|
45
|
+
# @return [ String ] The problem.
|
|
46
|
+
#
|
|
47
|
+
# @since 3.0.0
|
|
48
|
+
def problem(key, attributes)
|
|
49
|
+
translate("#{key}.message", attributes)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Create the summary.
|
|
53
|
+
#
|
|
54
|
+
# @example Create the summary.
|
|
55
|
+
# error.summary
|
|
56
|
+
#
|
|
57
|
+
# @return [ String ] The summary.
|
|
58
|
+
#
|
|
59
|
+
# @since 3.0.0
|
|
60
|
+
def summary(key, attributes)
|
|
61
|
+
translate("#{key}.summary", attributes)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Create the resolution.
|
|
65
|
+
#
|
|
66
|
+
# @example Create the resolution.
|
|
67
|
+
# error.resolution
|
|
68
|
+
#
|
|
69
|
+
# @return [ String ] The resolution.
|
|
70
|
+
#
|
|
71
|
+
# @since 3.0.0
|
|
72
|
+
def resolution(key, attributes)
|
|
73
|
+
translate("#{key}.resolution", attributes)
|
|
23
74
|
end
|
|
24
75
|
end
|
|
25
76
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when metadata could not be found when defining
|
|
6
|
+
# nested attributes, or the name was incorrect.
|
|
7
|
+
class NestedAttributesMetadataNotFound < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new metadata error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the new metadata error.
|
|
12
|
+
# NestedAttributesMetadataNotFound.new(klass, name)
|
|
13
|
+
#
|
|
14
|
+
# @param [ Class ] klass The class of the document.
|
|
15
|
+
# @param [ Symbol, String ] name The name of the relation
|
|
16
|
+
#
|
|
17
|
+
# @since 3.0.0
|
|
18
|
+
def initialize(klass, name)
|
|
19
|
+
super(
|
|
20
|
+
compose_message(
|
|
21
|
+
"nested_attributes_metadata_not_found",
|
|
22
|
+
{ klass: klass, name: name }
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when a default session is not defined.
|
|
6
|
+
class NoDefaultSession < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the new error with the defined session names.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the new error.
|
|
11
|
+
# NoDefaultSession.new([ :secondary ])
|
|
12
|
+
#
|
|
13
|
+
# @param [ Array<Symbol> ] keys The defined sessions.
|
|
14
|
+
#
|
|
15
|
+
# @since 3.0.0
|
|
16
|
+
def initialize(keys)
|
|
17
|
+
super(
|
|
18
|
+
compose_message("no_default_session", { keys: keys.join(", ") })
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# Raised when trying to load configuration with no RACK_ENV set
|
|
6
6
|
class NoEnvironment < MongoidError
|
|
@@ -12,7 +12,7 @@ module Mongoid #:nodoc
|
|
|
12
12
|
#
|
|
13
13
|
# @since 2.4.0
|
|
14
14
|
def initialize
|
|
15
|
-
super(
|
|
15
|
+
super(compose_message("no_environment", {}))
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# Raised when executing a map/reduce without specifying the output
|
|
6
|
+
# location.
|
|
7
|
+
class NoMapReduceOutput < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the new error.
|
|
12
|
+
# NoMapReduceOutput.new({ map: "" })
|
|
13
|
+
#
|
|
14
|
+
# @param [ Hash ] command The map/reduce command.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(command)
|
|
18
|
+
super(
|
|
19
|
+
compose_message("no_map_reduce_output", { command: command })
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when trying to persist an embedded document
|
|
6
|
+
# when there is no parent set.
|
|
7
|
+
class NoParent < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the new error.
|
|
12
|
+
# NoParent.new(klass)
|
|
13
|
+
#
|
|
14
|
+
# @param [ Class ] klass The class of the embedded document.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(klass)
|
|
18
|
+
super(
|
|
19
|
+
compose_message("no_parent", { klass: klass })
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when attempting to create a new session that does
|
|
6
|
+
# not have a named configuration.
|
|
7
|
+
class NoSessionConfig < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the error.
|
|
12
|
+
# NoSessionConfig.new(:secondary)
|
|
13
|
+
#
|
|
14
|
+
# @param [ String, Symbol ] name The name of the session.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(name)
|
|
18
|
+
super(compose_message("no_session_config", { name: name }))
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when a session is configured without a database.
|
|
6
|
+
class NoSessionDatabase < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the new error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the new error.
|
|
11
|
+
# NoSessionDatabase.new(:default, {}})
|
|
12
|
+
#
|
|
13
|
+
# @param [ Symbol, String ] name The db config key.
|
|
14
|
+
# @param [ Hash ] config The hash configuration options.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(name, config)
|
|
18
|
+
super(
|
|
19
|
+
compose_message(
|
|
20
|
+
"no_session_database",
|
|
21
|
+
{ name: name, config: config }
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when a session is configured without hosts.
|
|
6
|
+
class NoSessionHosts < MongoidError
|
|
7
|
+
|
|
8
|
+
# Create the new error.
|
|
9
|
+
#
|
|
10
|
+
# @example Create the new error.
|
|
11
|
+
# NoSessionHosts.new(:default, {}})
|
|
12
|
+
#
|
|
13
|
+
# @param [ Symbol, String ] name The db config key.
|
|
14
|
+
# @param [ Hash ] config The hash configuration options.
|
|
15
|
+
#
|
|
16
|
+
# @since 3.0.0
|
|
17
|
+
def initialize(name, config)
|
|
18
|
+
super(
|
|
19
|
+
compose_message(
|
|
20
|
+
"no_session_hosts",
|
|
21
|
+
{ name: name, config: config }
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when no sessions exists in the database
|
|
6
|
+
# configuration.
|
|
7
|
+
class NoSessionsConfig < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the error.
|
|
12
|
+
# NoSessionsConfig.new
|
|
13
|
+
#
|
|
14
|
+
# @since 3.0.0
|
|
15
|
+
def initialize
|
|
16
|
+
super(compose_message("no_sessions_config", {}))
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when attempting the change the value of a readonly
|
|
6
|
+
# attribute after the document has been persisted.
|
|
7
|
+
class ReadonlyAttribute < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Create the new error.
|
|
12
|
+
# ReadonlyAttribute.new(:title, "mr")
|
|
13
|
+
#
|
|
14
|
+
# @param [ Symbol, String ] name The name of the attribute.
|
|
15
|
+
# @param [ Object ] value The attempted set value.
|
|
16
|
+
#
|
|
17
|
+
# @since 3.0.0
|
|
18
|
+
def initialize(name, value)
|
|
19
|
+
super(
|
|
20
|
+
compose_message("readonly_attribute", { name: name, value: value })
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
-
module Mongoid
|
|
3
|
-
module Errors
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
4
|
|
|
5
5
|
# This error is raised when trying to create a scope with an name already
|
|
6
6
|
# taken by another scope or method
|
|
@@ -10,9 +10,9 @@ module Mongoid #:nodoc
|
|
|
10
10
|
class ScopeOverwrite < MongoidError
|
|
11
11
|
def initialize(model_name,scope_name)
|
|
12
12
|
super(
|
|
13
|
-
|
|
13
|
+
compose_message(
|
|
14
14
|
"scope_overwrite",
|
|
15
|
-
{ :
|
|
15
|
+
{ model_name: model_name, scope_name: scope_name }
|
|
16
16
|
)
|
|
17
17
|
)
|
|
18
18
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module Mongoid
|
|
2
|
-
module Errors
|
|
1
|
+
module Mongoid
|
|
2
|
+
module Errors
|
|
3
3
|
|
|
4
4
|
# This error is raised when trying to create set nested records above the
|
|
5
5
|
# specified :limit
|
|
@@ -9,9 +9,9 @@ module Mongoid #:nodoc
|
|
|
9
9
|
class TooManyNestedAttributeRecords < MongoidError
|
|
10
10
|
def initialize(association, limit)
|
|
11
11
|
super(
|
|
12
|
-
|
|
12
|
+
compose_message(
|
|
13
13
|
"too_many_nested_attribute_records",
|
|
14
|
-
{ :
|
|
14
|
+
{ association: association, limit: limit }
|
|
15
15
|
)
|
|
16
16
|
)
|
|
17
17
|
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
# This error is raised when trying to set a value in Mongoid that is not
|
|
6
|
+
# already set with dynamic attributes or the field is not defined.
|
|
7
|
+
class UnknownAttribute < MongoidError
|
|
8
|
+
|
|
9
|
+
# Create the new error.
|
|
10
|
+
#
|
|
11
|
+
# @example Instantiate the error.
|
|
12
|
+
# UnknownAttribute.new(Person, "gender")
|
|
13
|
+
#
|
|
14
|
+
# @param [ Class ] klass The model class.
|
|
15
|
+
# @param [ String, Symbol ] name The name of the attribute.
|
|
16
|
+
#
|
|
17
|
+
# @since 3.0.0
|
|
18
|
+
def initialize(klass, name)
|
|
19
|
+
super(
|
|
20
|
+
compose_message("unknown_attribute", { klass: klass.name, name: name })
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|