mongoid 3.1.3 → 3.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/lib/config/locales/en.yml +0 -8
- data/lib/mongoid/attributes.rb +4 -0
- data/lib/mongoid/contextual/mongo.rb +1 -1
- data/lib/mongoid/criterion/modifiable.rb +2 -4
- data/lib/mongoid/dirty.rb +1 -1
- data/lib/mongoid/errors.rb +0 -1
- data/lib/mongoid/hierarchy.rb +1 -1
- data/lib/mongoid/nested_attributes.rb +20 -4
- data/lib/mongoid/paranoia.rb +1 -1
- data/lib/mongoid/persistence.rb +0 -1
- data/lib/mongoid/persistence/atomic/operation.rb +1 -3
- data/lib/mongoid/persistence/deletion.rb +1 -1
- data/lib/mongoid/railtie.rb +0 -11
- data/lib/mongoid/relations/embedded/batchable.rb +1 -1
- data/lib/mongoid/relations/metadata.rb +1 -1
- data/lib/mongoid/relations/targets/enumerable.rb +16 -1
- data/lib/mongoid/scoping.rb +31 -6
- data/lib/mongoid/threaded.rb +0 -46
- data/lib/mongoid/timestamps/timeless.rb +20 -13
- data/lib/mongoid/validations/uniqueness.rb +6 -4
- data/lib/mongoid/version.rb +1 -1
- metadata +4 -5
- data/lib/mongoid/errors/invalid_database.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e112d2050bea71c9b4ec085c77518391924fd579
|
4
|
+
data.tar.gz: 7b83e17ffe01d545d5a08833d1a07e8ef120a2bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0344a52659debedd1ed969e05676a35c65edd806471bdcb9d8045e8404293b27451449d434d9f1d6c2174f3dc8475a9eff978bcbbaabd3f54f0a53f980b8a625
|
7
|
+
data.tar.gz: e196f3ebc85543dc36a9e6f49f1f024c993d626ab4990604ad5061961ed3e8a0cfecbfd6f3a18c048127819d9897b1f0eb25d588ed141dc4d9f8b96d7c38fbaf
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,35 @@ For instructions on upgrading to newer versions, visit
|
|
7
7
|
|
8
8
|
### Resolved Issues
|
9
9
|
|
10
|
+
* \#3044 Ensure enumerable targets match arrays in case statements.
|
11
|
+
|
12
|
+
* \#3034 `first_or_create` on criterion now properly passes the block to create
|
13
|
+
instead of calling after the document was created.
|
14
|
+
|
15
|
+
* \#3021 Removed `mongoid.yml` warning from initializer, this is now handled by
|
16
|
+
the session configuration options.
|
17
|
+
|
18
|
+
* \#3018 Uniqueness validator now properly serializes values in its check.
|
19
|
+
(Jerry Clinesmith)
|
20
|
+
|
21
|
+
* \#3011 Fixed aliased field support for uniqueness validation. (Johnny Shields)
|
22
|
+
|
23
|
+
* \#3008 Fixed subclasses not being able to inherit scopes properly when scope
|
24
|
+
is added post class load. (Mike Dillon)
|
25
|
+
|
26
|
+
* \#2991 `Document.timeless` now properly scopes to the instance and not thread.
|
27
|
+
|
28
|
+
* \#2980 Dynamic fields now properly handle in place editing of hashes and
|
29
|
+
arrays. (Matthew Widmann)
|
30
|
+
|
31
|
+
* \#2979 `pluck` no longer modifies the context in place. (Brian Goff)
|
32
|
+
|
33
|
+
* \#2970 Fixed counter cache to properly use the name of the relation if available
|
34
|
+
then the inverse class name second if not.
|
35
|
+
|
36
|
+
* \#2959 Nested attributes will now respect `autosave: false` if defined on the
|
37
|
+
relation.
|
38
|
+
|
10
39
|
* \#2944 Fixed uniqueness validation for localized fields when case insensitive
|
11
40
|
is true. (Vladimir Zhukov)
|
12
41
|
|
data/lib/config/locales/en.yml
CHANGED
@@ -75,14 +75,6 @@ en:
|
|
75
75
|
expecting the option to be there, please consult the following page
|
76
76
|
with repect to Mongoid's configuration:\n\n
|
77
77
|
\_\_http://mongoid.org/en/mongoid/docs/installation.html"
|
78
|
-
invalid_database:
|
79
|
-
message: "Database should be a Mongo::DB, not %{name}."
|
80
|
-
summary: "When setting a master database in the Mongoid configuration
|
81
|
-
it must be an actual instance of a Mongo::DB, and not just a name
|
82
|
-
of the database. This check is performed when calling
|
83
|
-
Mongoid.master = object."
|
84
|
-
resolution: "Make sure that when setting the configuration
|
85
|
-
programatically that you are passing an actual db instance."
|
86
78
|
invalid_field:
|
87
79
|
message: "Defining a field named '%{name}' is not allowed."
|
88
80
|
summary: "Defining this field would override the method '%{name}',
|
data/lib/mongoid/attributes.rb
CHANGED
@@ -252,6 +252,7 @@ module Mongoid
|
|
252
252
|
|
253
253
|
class_eval <<-READER
|
254
254
|
def #{name}
|
255
|
+
attribute_will_change!(#{name.inspect})
|
255
256
|
read_attribute(#{name.inspect})
|
256
257
|
end
|
257
258
|
READER
|
@@ -270,6 +271,7 @@ module Mongoid
|
|
270
271
|
def define_dynamic_before_type_cast_reader(name)
|
271
272
|
class_eval <<-READER
|
272
273
|
def #{name}_before_type_cast
|
274
|
+
attribute_will_change!(#{name.inspect})
|
273
275
|
read_attribute_before_type_cast(#{name.inspect})
|
274
276
|
end
|
275
277
|
READER
|
@@ -322,10 +324,12 @@ module Mongoid
|
|
322
324
|
write_attribute(getter, args.first)
|
323
325
|
elsif attr.before_type_cast?
|
324
326
|
define_dynamic_before_type_cast_reader(attr.reader)
|
327
|
+
attribute_will_change!(attr.reader)
|
325
328
|
read_attribute_before_type_cast(attr.reader)
|
326
329
|
else
|
327
330
|
getter = attr.reader
|
328
331
|
define_dynamic_reader(getter)
|
332
|
+
attribute_will_change!(attr.reader)
|
329
333
|
read_attribute(getter)
|
330
334
|
end
|
331
335
|
end
|
@@ -337,7 +337,7 @@ module Mongoid
|
|
337
337
|
# @since 3.1.0
|
338
338
|
def pluck(field)
|
339
339
|
normalized = klass.database_field_name(field)
|
340
|
-
query.select(normalized => 1).map{ |doc| doc[normalized] }.compact
|
340
|
+
query.dup.select(normalized => 1).map{ |doc| doc[normalized] }.compact
|
341
341
|
end
|
342
342
|
|
343
343
|
# Skips the provided number of documents.
|
@@ -181,10 +181,8 @@ module Mongoid
|
|
181
181
|
# @return [ Document ] The first or new document.
|
182
182
|
#
|
183
183
|
# @since 3.1.0
|
184
|
-
def first_or(method, attrs =
|
185
|
-
|
186
|
-
yield(document) if block_given?
|
187
|
-
document
|
184
|
+
def first_or(method, attrs = {}, &block)
|
185
|
+
first || create_document(method, attrs, &block)
|
188
186
|
end
|
189
187
|
end
|
190
188
|
end
|
data/lib/mongoid/dirty.rb
CHANGED
data/lib/mongoid/errors.rb
CHANGED
@@ -6,7 +6,6 @@ require "mongoid/errors/document_not_found"
|
|
6
6
|
require "mongoid/errors/eager_load"
|
7
7
|
require "mongoid/errors/invalid_collection"
|
8
8
|
require "mongoid/errors/invalid_config_option"
|
9
|
-
require "mongoid/errors/invalid_database"
|
10
9
|
require "mongoid/errors/invalid_field"
|
11
10
|
require "mongoid/errors/invalid_field_option"
|
12
11
|
require "mongoid/errors/invalid_find"
|
data/lib/mongoid/hierarchy.rb
CHANGED
@@ -172,7 +172,7 @@ module Mongoid
|
|
172
172
|
subclass.fields = fields.dup
|
173
173
|
subclass.pre_processed_defaults = pre_processed_defaults.dup
|
174
174
|
subclass.post_processed_defaults = post_processed_defaults.dup
|
175
|
-
subclass.
|
175
|
+
subclass._declared_scopes = Hash.new { |hash,key| self._declared_scopes[key] }
|
176
176
|
subclass.autosaved_relations = autosaved_relations.dup
|
177
177
|
|
178
178
|
# We only need the _type field if inheritance is in play, but need to
|
@@ -46,10 +46,8 @@ module Mongoid
|
|
46
46
|
meth = "#{name}_attributes="
|
47
47
|
self.nested_attributes["#{name}_attributes"] = meth
|
48
48
|
metadata = relations[name.to_s]
|
49
|
-
unless metadata
|
50
|
-
|
51
|
-
end
|
52
|
-
autosave(metadata.merge!(autosave: true))
|
49
|
+
raise Errors::NestedAttributesMetadataNotFound.new(self, name) unless metadata
|
50
|
+
autosave_nested_attributes(metadata)
|
53
51
|
re_define_method(meth) do |attrs|
|
54
52
|
_assigning do
|
55
53
|
metadata.nested_builder(attrs, options).build(self, mass_assignment_options)
|
@@ -57,6 +55,24 @@ module Mongoid
|
|
57
55
|
end
|
58
56
|
end
|
59
57
|
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
# Add the autosave information for the nested relation.
|
62
|
+
#
|
63
|
+
# @api private
|
64
|
+
#
|
65
|
+
# @example Add the autosave if appropriate.
|
66
|
+
# Person.autosave_nested_attributes(metadata)
|
67
|
+
#
|
68
|
+
# @param [ Metadata ] metadata The existing relation metadata.
|
69
|
+
#
|
70
|
+
# @since 3.1.4
|
71
|
+
def autosave_nested_attributes(metadata)
|
72
|
+
unless metadata.autosave == false
|
73
|
+
autosave(metadata.merge!(autosave: true))
|
74
|
+
end
|
75
|
+
end
|
60
76
|
end
|
61
77
|
end
|
62
78
|
end
|
data/lib/mongoid/paranoia.rb
CHANGED
data/lib/mongoid/persistence.rb
CHANGED
data/lib/mongoid/railtie.rb
CHANGED
@@ -77,17 +77,6 @@ module Rails
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
# After initialization we will warn the user if we can't find a mongoid.yml and
|
81
|
-
# alert to create one.
|
82
|
-
initializer "warn when configuration is missing" do
|
83
|
-
config.after_initialize do
|
84
|
-
unless Rails.root.join("config", "mongoid.yml").file? || ::Mongoid.configured?
|
85
|
-
puts "\nMongoid config not found. Create a config file at: config/mongoid.yml"
|
86
|
-
puts "to generate one run: rails generate mongoid:config\n\n"
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
80
|
# Set the proper error types for Rails. DocumentNotFound errors should be
|
92
81
|
# 404s and not 500s, validation errors are 422s.
|
93
82
|
initializer "load http errors" do |app|
|
@@ -62,7 +62,6 @@ module Mongoid
|
|
62
62
|
)
|
63
63
|
post_process_batch_remove(docs, method)
|
64
64
|
end
|
65
|
-
Threaded.clear_options!
|
66
65
|
reindex
|
67
66
|
end
|
68
67
|
|
@@ -305,6 +304,7 @@ module Mongoid
|
|
305
304
|
_unscoped.delete_one(doc)
|
306
305
|
unbind_one(doc)
|
307
306
|
execute_callback :after_remove, doc
|
307
|
+
doc.clear_timeless_option
|
308
308
|
doc.as_document
|
309
309
|
end
|
310
310
|
end
|
@@ -160,7 +160,7 @@ module Mongoid
|
|
160
160
|
# @since 3.1.0
|
161
161
|
def counter_cache_column_name
|
162
162
|
if self[:counter_cache] == true
|
163
|
-
"#{inverse_class_name.demodulize.underscore.pluralize}_count"
|
163
|
+
"#{inverse || inverse_class_name.demodulize.underscore.pluralize}_count"
|
164
164
|
else
|
165
165
|
self[:counter_cache].to_s
|
166
166
|
end
|
@@ -16,7 +16,7 @@ module Mongoid
|
|
16
16
|
# @attribute [rw] _unloaded A criteria representing persisted docs.
|
17
17
|
attr_accessor :_added, :_loaded, :_unloaded
|
18
18
|
|
19
|
-
delegate
|
19
|
+
delegate :is_a?, :kind_of?, to: []
|
20
20
|
|
21
21
|
# Check if the enumerable is equal to the other object.
|
22
22
|
#
|
@@ -33,6 +33,21 @@ module Mongoid
|
|
33
33
|
entries == other.entries
|
34
34
|
end
|
35
35
|
|
36
|
+
# Check equality of the enumerable against the provided object for case
|
37
|
+
# statements.
|
38
|
+
#
|
39
|
+
# @example Check case equality.
|
40
|
+
# enumerable === Array
|
41
|
+
#
|
42
|
+
# @param [ Object ] other The object to check.
|
43
|
+
#
|
44
|
+
# @return [ true, false ] If the objects are equal in a case.
|
45
|
+
#
|
46
|
+
# @since 3.1.4
|
47
|
+
def ===(other)
|
48
|
+
other.class == Class ? Array == other : self == other
|
49
|
+
end
|
50
|
+
|
36
51
|
# Append a document to the enumerable.
|
37
52
|
#
|
38
53
|
# @example Append the document.
|
data/lib/mongoid/scoping.rb
CHANGED
@@ -8,12 +8,37 @@ module Mongoid
|
|
8
8
|
|
9
9
|
included do
|
10
10
|
class_attribute :default_scoping
|
11
|
-
class_attribute :
|
12
|
-
self.
|
11
|
+
class_attribute :_declared_scopes
|
12
|
+
self._declared_scopes = {}
|
13
13
|
end
|
14
14
|
|
15
15
|
module ClassMethods
|
16
16
|
|
17
|
+
# Returns a hash of all the scopes defined for this class, including
|
18
|
+
# scopes defined on ancestor classes.
|
19
|
+
#
|
20
|
+
# @example Get the defined scopes for a class
|
21
|
+
# class Band
|
22
|
+
# include Mongoid::Document
|
23
|
+
# field :active, type: Boolean
|
24
|
+
#
|
25
|
+
# scope :active, where(active: true)
|
26
|
+
# end
|
27
|
+
# Band.scopes
|
28
|
+
#
|
29
|
+
# @return [ Hash ] The scopes defined for this class
|
30
|
+
#
|
31
|
+
# @since 3.1.4
|
32
|
+
def scopes
|
33
|
+
defined_scopes = {}
|
34
|
+
ancestors.reverse.each do |klass|
|
35
|
+
if klass.respond_to?(:_declared_scopes)
|
36
|
+
defined_scopes.merge!(klass._declared_scopes)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
defined_scopes.freeze
|
40
|
+
end
|
41
|
+
|
17
42
|
# Add a default scope to the model. This scope will be applied to all
|
18
43
|
# criteria unless #unscoped is specified.
|
19
44
|
#
|
@@ -94,7 +119,7 @@ module Mongoid
|
|
94
119
|
normalized = name.to_sym
|
95
120
|
check_scope_validity(value)
|
96
121
|
check_scope_name(normalized)
|
97
|
-
|
122
|
+
_declared_scopes[normalized] = {
|
98
123
|
scope: strip_default_scope(value),
|
99
124
|
extension: Module.new(&block)
|
100
125
|
}
|
@@ -226,7 +251,7 @@ module Mongoid
|
|
226
251
|
#
|
227
252
|
# @since 2.1.0
|
228
253
|
def check_scope_name(name)
|
229
|
-
if
|
254
|
+
if _declared_scopes[name] || respond_to?(name, true)
|
230
255
|
if Mongoid.scope_overwrite_exception
|
231
256
|
raise Errors::ScopeOverwrite.new(self.name, name)
|
232
257
|
else
|
@@ -273,9 +298,9 @@ module Mongoid
|
|
273
298
|
#
|
274
299
|
# @since 3.0.0
|
275
300
|
def define_scope_method(name)
|
276
|
-
(class << self; self; end).class_eval <<-SCOPE
|
301
|
+
(class << self; self; end).class_eval <<-SCOPE, __FILE__, __LINE__ + 1
|
277
302
|
def #{name}(*args)
|
278
|
-
scoping =
|
303
|
+
scoping = _declared_scopes[:#{name}]
|
279
304
|
scope, extension = scoping[:scope][*args], scoping[:extension]
|
280
305
|
criteria = with_default_scope.merge(scope || all)
|
281
306
|
criteria.extend(extension)
|
data/lib/mongoid/threaded.rb
CHANGED
@@ -141,16 +141,6 @@ module Mongoid
|
|
141
141
|
true
|
142
142
|
end
|
143
143
|
|
144
|
-
# Clear out all options set on a one-time basis.
|
145
|
-
#
|
146
|
-
# @example Clear out the options.
|
147
|
-
# Threaded.clear_options!
|
148
|
-
#
|
149
|
-
# @since 2.3.0
|
150
|
-
def clear_options!
|
151
|
-
self.timeless = false
|
152
|
-
end
|
153
|
-
|
154
144
|
# Exit autosaving a document on the current thread.
|
155
145
|
#
|
156
146
|
# @example Exit autosave.
|
@@ -355,42 +345,6 @@ module Mongoid
|
|
355
345
|
Thread.current["[mongoid]:scope-stack"] ||= {}
|
356
346
|
end
|
357
347
|
|
358
|
-
# Get the value of the one-off timeless call.
|
359
|
-
#
|
360
|
-
# @example Get the timeless value.
|
361
|
-
# Threaded.timeless
|
362
|
-
#
|
363
|
-
# @return [ true, false ] The timeless setting.
|
364
|
-
#
|
365
|
-
# @since 2.3.0
|
366
|
-
def timeless
|
367
|
-
!!Thread.current["[mongoid]:timeless"]
|
368
|
-
end
|
369
|
-
|
370
|
-
# Set the value of the one-off timeless call.
|
371
|
-
#
|
372
|
-
# @example Set the timeless value.
|
373
|
-
# Threaded.timeless = true
|
374
|
-
#
|
375
|
-
# @param [ true, false ] value The value.
|
376
|
-
#
|
377
|
-
# @since 2.3.0
|
378
|
-
def timeless=(value)
|
379
|
-
Thread.current["[mongoid]:timeless"] = value
|
380
|
-
end
|
381
|
-
|
382
|
-
# Is the current thread setting timestamps?
|
383
|
-
#
|
384
|
-
# @example Is the current thread timestamping?
|
385
|
-
# Threaded.timestamping?
|
386
|
-
#
|
387
|
-
# @return [ true, false ] If timestamps can be applied.
|
388
|
-
#
|
389
|
-
# @since 2.3.0
|
390
|
-
def timestamping?
|
391
|
-
!timeless
|
392
|
-
end
|
393
|
-
|
394
348
|
# Is the document autosaved on the current thread?
|
395
349
|
#
|
396
350
|
# @example Is the document autosaved?
|
@@ -7,6 +7,23 @@ module Mongoid
|
|
7
7
|
module Timeless
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
|
10
|
+
included do
|
11
|
+
class_attribute :timestamping
|
12
|
+
self.timestamping = true
|
13
|
+
end
|
14
|
+
|
15
|
+
# Clears out the timeless option.
|
16
|
+
#
|
17
|
+
# @example Clear the timeless option.
|
18
|
+
# document.clear_timeless_option
|
19
|
+
#
|
20
|
+
# @return [ true ] True.
|
21
|
+
#
|
22
|
+
# @since 3.1.4
|
23
|
+
def clear_timeless_option
|
24
|
+
self.class.timestamping = true
|
25
|
+
end
|
26
|
+
|
10
27
|
# Begin an execution that should skip timestamping.
|
11
28
|
#
|
12
29
|
# @example Save a document but don't timestamp.
|
@@ -16,21 +33,11 @@ module Mongoid
|
|
16
33
|
#
|
17
34
|
# @since 2.3.0
|
18
35
|
def timeless
|
19
|
-
|
36
|
+
self.class.timestamping = false
|
20
37
|
self
|
21
38
|
end
|
22
39
|
|
23
|
-
|
24
|
-
#
|
25
|
-
# @example Should timestamps be applied?
|
26
|
-
# person.timestamping?
|
27
|
-
#
|
28
|
-
# @return [ true, false ] If the current thread is timestamping.
|
29
|
-
#
|
30
|
-
# @since 2.3.0
|
31
|
-
def timestamping?
|
32
|
-
Threaded.timestamping?
|
33
|
-
end
|
40
|
+
private
|
34
41
|
|
35
42
|
module ClassMethods
|
36
43
|
|
@@ -43,7 +50,7 @@ module Mongoid
|
|
43
50
|
#
|
44
51
|
# @since 2.3.0
|
45
52
|
def timeless
|
46
|
-
|
53
|
+
self.timestamping = false
|
47
54
|
self
|
48
55
|
end
|
49
56
|
end
|
@@ -105,7 +105,7 @@ module Mongoid
|
|
105
105
|
# @since 2.4.10
|
106
106
|
def create_criteria(base, document, attribute, value)
|
107
107
|
criteria = scope(base.unscoped, document, attribute)
|
108
|
-
criteria.selector.update(criterion(document, attribute, value))
|
108
|
+
criteria.selector.update(criterion(document, attribute, value.mongoize))
|
109
109
|
criteria
|
110
110
|
end
|
111
111
|
|
@@ -124,11 +124,13 @@ module Mongoid
|
|
124
124
|
#
|
125
125
|
# @since 2.3.0
|
126
126
|
def criterion(document, attribute, value)
|
127
|
-
|
128
|
-
|
127
|
+
field = document.database_field_name(attribute)
|
128
|
+
|
129
|
+
if localized?(document, field)
|
130
|
+
conditions = value.inject([]) { |acc, (k,v)| acc << { "#{field}.#{k}" => filter(v) } }
|
129
131
|
selector = { "$or" => conditions }
|
130
132
|
else
|
131
|
-
selector = {
|
133
|
+
selector = { field => filter(value) }
|
132
134
|
end
|
133
135
|
|
134
136
|
if document.persisted? && !document.embedded?
|
data/lib/mongoid/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Durran Jordan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.4
|
47
|
+
version: '1.4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.4
|
54
|
+
version: '1.4'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: origin
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,7 +124,6 @@ files:
|
|
124
124
|
- lib/mongoid/errors/eager_load.rb
|
125
125
|
- lib/mongoid/errors/invalid_collection.rb
|
126
126
|
- lib/mongoid/errors/invalid_config_option.rb
|
127
|
-
- lib/mongoid/errors/invalid_database.rb
|
128
127
|
- lib/mongoid/errors/invalid_field.rb
|
129
128
|
- lib/mongoid/errors/invalid_field_option.rb
|
130
129
|
- lib/mongoid/errors/invalid_find.rb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
module Mongoid
|
3
|
-
module Errors
|
4
|
-
|
5
|
-
# Raised when the database connection has not been set up properly, either
|
6
|
-
# by attempting to set an object on the db that is not a +Mongo::DB+, or
|
7
|
-
# not setting anything at all.
|
8
|
-
#
|
9
|
-
# @example Create the error.
|
10
|
-
# InvalidDatabase.new("Not a DB")
|
11
|
-
class InvalidDatabase < MongoidError
|
12
|
-
def initialize(database)
|
13
|
-
super(
|
14
|
-
compose_message("invalid_database", { name: database.class.name })
|
15
|
-
)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|