mongoid 2.3.5 → 2.4.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.
- data/CHANGELOG.md +34 -176
- data/LICENSE +1 -1
- data/lib/config/locales/bg.yml +6 -0
- data/lib/config/locales/de.yml +6 -0
- data/lib/config/locales/en-GB.yml +8 -0
- data/lib/config/locales/en.yml +8 -0
- data/lib/config/locales/es.yml +9 -3
- data/lib/config/locales/fr.yml +6 -0
- data/lib/config/locales/hi.yml +6 -0
- data/lib/config/locales/hu.yml +6 -0
- data/lib/config/locales/id.yml +6 -0
- data/lib/config/locales/it.yml +6 -0
- data/lib/config/locales/ja.yml +6 -0
- data/lib/config/locales/kr.yml +6 -0
- data/lib/config/locales/nl.yml +8 -0
- data/lib/config/locales/pl.yml +6 -0
- data/lib/config/locales/pt-BR.yml +6 -0
- data/lib/config/locales/pt.yml +8 -2
- data/lib/config/locales/ro.yml +6 -0
- data/lib/config/locales/ru.yml +6 -0
- data/lib/config/locales/sv.yml +6 -0
- data/lib/config/locales/vi.yml +14 -8
- data/lib/config/locales/zh-CN.yml +6 -0
- data/lib/mongoid/atomic.rb +62 -13
- data/lib/mongoid/atomic/modifiers.rb +33 -1
- data/lib/mongoid/attributes.rb +5 -19
- data/lib/mongoid/callbacks.rb +2 -1
- data/lib/mongoid/collection.rb +2 -2
- data/lib/mongoid/collections/retry.rb +18 -6
- data/lib/mongoid/components.rb +2 -0
- data/lib/mongoid/config.rb +8 -63
- data/lib/mongoid/config/environment.rb +41 -0
- data/lib/mongoid/config/options.rb +74 -0
- data/lib/mongoid/contexts/enumerable.rb +0 -24
- data/lib/mongoid/contexts/mongo.rb +33 -3
- data/lib/mongoid/copyable.rb +1 -1
- data/lib/mongoid/criteria.rb +4 -2
- data/lib/mongoid/criterion/inclusion.rb +1 -16
- data/lib/mongoid/criterion/optional.rb +37 -10
- data/lib/mongoid/criterion/scoping.rb +83 -0
- data/lib/mongoid/criterion/selector.rb +9 -6
- data/lib/mongoid/default_scope.rb +1 -1
- data/lib/mongoid/dirty.rb +163 -29
- data/lib/mongoid/document.rb +58 -7
- data/lib/mongoid/errors.rb +2 -0
- data/lib/mongoid/errors/no_environment.rb +19 -0
- data/lib/mongoid/errors/scope_overwrite.rb +21 -0
- data/lib/mongoid/extensions.rb +6 -0
- data/lib/mongoid/extensions/array/deep_copy.rb +25 -0
- data/lib/mongoid/extensions/hash/deep_copy.rb +25 -0
- data/lib/mongoid/extensions/hash/scoping.rb +1 -1
- data/lib/mongoid/extensions/object/deep_copy.rb +21 -0
- data/lib/mongoid/extensions/proc/scoping.rb +2 -2
- data/lib/mongoid/extensions/symbol/inflections.rb +1 -0
- data/lib/mongoid/fields.rb +171 -104
- data/lib/mongoid/fields/{serializable → internal}/array.rb +33 -1
- data/lib/mongoid/fields/{serializable → internal}/big_decimal.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/bignum.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/binary.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/boolean.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/date.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/date_time.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/fixnum.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/float.rb +16 -1
- data/lib/mongoid/fields/internal/foreign_keys/array.rb +74 -0
- data/lib/mongoid/fields/{serializable → internal}/foreign_keys/object.rb +11 -2
- data/lib/mongoid/fields/{serializable → internal}/hash.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/integer.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/localized.rb +23 -2
- data/lib/mongoid/fields/{serializable → internal}/nil_class.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/object.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/object_id.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/range.rb +21 -2
- data/lib/mongoid/fields/{serializable → internal}/set.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/string.rb +16 -1
- data/lib/mongoid/fields/{serializable → internal}/symbol.rb +17 -1
- data/lib/mongoid/fields/{serializable → internal}/time.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/time_with_zone.rb +1 -1
- data/lib/mongoid/fields/{serializable → internal}/timekeeping.rb +16 -1
- data/lib/mongoid/fields/mappings.rb +8 -3
- data/lib/mongoid/fields/serializable.rb +34 -3
- data/lib/mongoid/hierarchy.rb +14 -14
- data/lib/mongoid/identity_map.rb +3 -2
- data/lib/mongoid/logger.rb +1 -7
- data/lib/mongoid/named_scope.rb +16 -12
- data/lib/mongoid/observer.rb +5 -1
- data/lib/mongoid/paranoia.rb +1 -0
- data/lib/mongoid/persistence.rb +11 -4
- data/lib/mongoid/persistence/atomic.rb +4 -1
- data/lib/mongoid/persistence/atomic/add_to_set.rb +17 -1
- data/lib/mongoid/persistence/atomic/sets.rb +1 -1
- data/lib/mongoid/railties/database.rake +1 -1
- data/lib/mongoid/relations.rb +1 -3
- data/lib/mongoid/relations/auto_save.rb +1 -1
- data/lib/mongoid/relations/builders.rb +1 -1
- data/lib/mongoid/relations/builders/embedded/many.rb +2 -6
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +1 -1
- data/lib/mongoid/relations/builders/nested_attributes/one.rb +1 -1
- data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -1
- data/lib/mongoid/relations/cascading/delete.rb +1 -1
- data/lib/mongoid/relations/cyclic.rb +10 -6
- data/lib/mongoid/relations/embedded/atomic.rb +3 -3
- data/lib/mongoid/relations/embedded/many.rb +98 -20
- data/lib/mongoid/relations/macros.rb +2 -0
- data/lib/mongoid/relations/many.rb +13 -0
- data/lib/mongoid/relations/metadata.rb +3 -3
- data/lib/mongoid/relations/nested_builder.rb +4 -3
- data/lib/mongoid/relations/proxy.rb +0 -1
- data/lib/mongoid/relations/referenced/batch.rb +3 -2
- data/lib/mongoid/relations/referenced/in.rb +3 -3
- data/lib/mongoid/relations/referenced/many.rb +89 -10
- data/lib/mongoid/relations/referenced/many_to_many.rb +34 -43
- data/lib/mongoid/relations/referenced/one.rb +8 -4
- data/lib/mongoid/relations/synchronization.rb +22 -5
- data/lib/mongoid/threaded.rb +38 -276
- data/lib/mongoid/threaded/lifecycle.rb +18 -18
- data/lib/mongoid/timestamps/updated.rb +13 -3
- data/lib/mongoid/validations.rb +22 -1
- data/lib/mongoid/validations/presence.rb +40 -0
- data/lib/mongoid/validations/uniqueness.rb +14 -3
- data/lib/mongoid/version.rb +1 -1
- data/lib/mongoid/versioning.rb +6 -2
- data/lib/rails/mongoid.rb +7 -1
- metadata +64 -45
- data/lib/mongoid/fields/serializable/foreign_keys/array.rb +0 -42
- data/lib/mongoid/relations/embedded/sort.rb +0 -31
|
@@ -22,10 +22,10 @@ module Mongoid #:nodoc:
|
|
|
22
22
|
#
|
|
23
23
|
# @since 2.2.0
|
|
24
24
|
def _assigning
|
|
25
|
-
Threaded.
|
|
25
|
+
Threaded.begin(:assign)
|
|
26
26
|
yield
|
|
27
27
|
ensure
|
|
28
|
-
Threaded.
|
|
28
|
+
Threaded.exit(:assign)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
# Is the current thread in assigning mode?
|
|
@@ -37,7 +37,7 @@ module Mongoid #:nodoc:
|
|
|
37
37
|
#
|
|
38
38
|
# @since 2.1.0
|
|
39
39
|
def _assigning?
|
|
40
|
-
Threaded.
|
|
40
|
+
Threaded.executing?(:assign)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
# Execute a block in binding mode.
|
|
@@ -51,10 +51,10 @@ module Mongoid #:nodoc:
|
|
|
51
51
|
#
|
|
52
52
|
# @since 2.1.0
|
|
53
53
|
def _binding
|
|
54
|
-
Threaded.
|
|
54
|
+
Threaded.begin(:bind)
|
|
55
55
|
yield
|
|
56
56
|
ensure
|
|
57
|
-
Threaded.
|
|
57
|
+
Threaded.exit(:bind)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
# Is the current thread in binding mode?
|
|
@@ -66,7 +66,7 @@ module Mongoid #:nodoc:
|
|
|
66
66
|
#
|
|
67
67
|
# @since 2.1.0
|
|
68
68
|
def _binding?
|
|
69
|
-
Threaded.
|
|
69
|
+
Threaded.executing?(:bind)
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
# Execute a block in building mode.
|
|
@@ -80,10 +80,10 @@ module Mongoid #:nodoc:
|
|
|
80
80
|
#
|
|
81
81
|
# @since 2.1.0
|
|
82
82
|
def _building
|
|
83
|
-
Threaded.
|
|
83
|
+
Threaded.begin(:build)
|
|
84
84
|
yield
|
|
85
85
|
ensure
|
|
86
|
-
Threaded.
|
|
86
|
+
Threaded.exit(:build)
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
# Is the current thread in building mode?
|
|
@@ -95,7 +95,7 @@ module Mongoid #:nodoc:
|
|
|
95
95
|
#
|
|
96
96
|
# @since 2.1.0
|
|
97
97
|
def _building?
|
|
98
|
-
Threaded.
|
|
98
|
+
Threaded.executing?(:build)
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
# Is the current thread in creating mode?
|
|
@@ -107,7 +107,7 @@ module Mongoid #:nodoc:
|
|
|
107
107
|
#
|
|
108
108
|
# @since 2.1.0
|
|
109
109
|
def _creating?
|
|
110
|
-
Threaded.
|
|
110
|
+
Threaded.executing?(:create)
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
# Execute a block in loading mode.
|
|
@@ -121,10 +121,10 @@ module Mongoid #:nodoc:
|
|
|
121
121
|
#
|
|
122
122
|
# @since 2.3.2
|
|
123
123
|
def _loading
|
|
124
|
-
Threaded.
|
|
124
|
+
Threaded.begin(:load)
|
|
125
125
|
yield
|
|
126
126
|
ensure
|
|
127
|
-
Threaded.
|
|
127
|
+
Threaded.exit(:load)
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
# Is the current thread in loading mode?
|
|
@@ -136,7 +136,7 @@ module Mongoid #:nodoc:
|
|
|
136
136
|
#
|
|
137
137
|
# @since 2.3.2
|
|
138
138
|
def _loading?
|
|
139
|
-
Threaded.
|
|
139
|
+
Threaded.executing?(:load)
|
|
140
140
|
end
|
|
141
141
|
|
|
142
142
|
# Execute a block in loading revision mode.
|
|
@@ -150,10 +150,10 @@ module Mongoid #:nodoc:
|
|
|
150
150
|
#
|
|
151
151
|
# @since 2.3.4
|
|
152
152
|
def _loading_revision
|
|
153
|
-
Threaded.
|
|
153
|
+
Threaded.begin(:load_revision)
|
|
154
154
|
yield
|
|
155
155
|
ensure
|
|
156
|
-
Threaded.
|
|
156
|
+
Threaded.exit(:load_revision)
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
module ClassMethods #:nodoc:
|
|
@@ -169,10 +169,10 @@ module Mongoid #:nodoc:
|
|
|
169
169
|
#
|
|
170
170
|
# @since 2.1.0
|
|
171
171
|
def _creating
|
|
172
|
-
Threaded.
|
|
172
|
+
Threaded.begin(:create)
|
|
173
173
|
yield
|
|
174
174
|
ensure
|
|
175
|
-
Threaded.
|
|
175
|
+
Threaded.exit(:create)
|
|
176
176
|
end
|
|
177
177
|
|
|
178
178
|
# Is the current thread in loading revision mode?
|
|
@@ -184,7 +184,7 @@ module Mongoid #:nodoc:
|
|
|
184
184
|
#
|
|
185
185
|
# @since 2.3.4
|
|
186
186
|
def _loading_revision?
|
|
187
|
-
Threaded.
|
|
187
|
+
Threaded.executing?(:load_revision)
|
|
188
188
|
end
|
|
189
189
|
end
|
|
190
190
|
end
|
|
@@ -8,9 +8,7 @@ module Mongoid #:nodoc:
|
|
|
8
8
|
|
|
9
9
|
included do
|
|
10
10
|
field :updated_at, :type => Time, :versioned => false
|
|
11
|
-
set_callback :save, :before, :set_updated_at, :if =>
|
|
12
|
-
doc.timestamping? && (doc.new_record? || doc.changed?)
|
|
13
|
-
}
|
|
11
|
+
set_callback :save, :before, :set_updated_at, :if => :able_to_set_updated_at?
|
|
14
12
|
end
|
|
15
13
|
|
|
16
14
|
# Update the updated_at field on the Document to the current time.
|
|
@@ -21,6 +19,18 @@ module Mongoid #:nodoc:
|
|
|
21
19
|
def set_updated_at
|
|
22
20
|
self.updated_at = Time.now.utc unless updated_at_changed?
|
|
23
21
|
end
|
|
22
|
+
|
|
23
|
+
# Is the updated timestamp able to be set?
|
|
24
|
+
#
|
|
25
|
+
# @example Can the timestamp be set?
|
|
26
|
+
# document.able_to_set_updated_at?
|
|
27
|
+
#
|
|
28
|
+
# @return [ true, false ] If the timestamp can be set.
|
|
29
|
+
#
|
|
30
|
+
# @since 2.4.0
|
|
31
|
+
def able_to_set_updated_at?
|
|
32
|
+
!frozen? && timestamping? && (new_record? || changed?)
|
|
33
|
+
end
|
|
24
34
|
end
|
|
25
35
|
end
|
|
26
36
|
end
|
data/lib/mongoid/validations.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
require "mongoid/validations/associated"
|
|
3
3
|
require "mongoid/validations/uniqueness"
|
|
4
|
+
require "mongoid/validations/presence"
|
|
4
5
|
|
|
5
6
|
module Mongoid #:nodoc:
|
|
6
7
|
|
|
@@ -43,11 +44,14 @@ module Mongoid #:nodoc:
|
|
|
43
44
|
#
|
|
44
45
|
# @since 2.0.0.rc.1
|
|
45
46
|
def read_attribute_for_validation(attr)
|
|
46
|
-
|
|
47
|
+
attribute = attr.to_s
|
|
48
|
+
if relations[attribute]
|
|
47
49
|
begin_validate
|
|
48
50
|
relation = send(attr)
|
|
49
51
|
exit_validate
|
|
50
52
|
relation.do_or_do_not(:in_memory) || relation
|
|
53
|
+
elsif fields[attribute] && fields[attribute].localized?
|
|
54
|
+
attributes[attribute]
|
|
51
55
|
else
|
|
52
56
|
send(attr)
|
|
53
57
|
end
|
|
@@ -119,6 +123,23 @@ module Mongoid #:nodoc:
|
|
|
119
123
|
validates_with(UniquenessValidator, _merge_attributes(args))
|
|
120
124
|
end
|
|
121
125
|
|
|
126
|
+
# Validates whether or not a field is present - meaning nil or empty.
|
|
127
|
+
#
|
|
128
|
+
# @example
|
|
129
|
+
# class Person
|
|
130
|
+
# include Mongoid::Document
|
|
131
|
+
# field :title
|
|
132
|
+
#
|
|
133
|
+
# validates_presence_of :title
|
|
134
|
+
# end
|
|
135
|
+
#
|
|
136
|
+
# @param [ Array ] args The names of the fields to validate.
|
|
137
|
+
#
|
|
138
|
+
# @since 2.4.0
|
|
139
|
+
def validates_presence_of(*args)
|
|
140
|
+
validates_with(PresenceValidator, _merge_attributes(args))
|
|
141
|
+
end
|
|
142
|
+
|
|
122
143
|
protected
|
|
123
144
|
|
|
124
145
|
# Adds an associated validator for the relation if the validate option
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Validations #:nodoc:
|
|
4
|
+
|
|
5
|
+
# Validates that the specified attributes are not blank (as defined by
|
|
6
|
+
# Object#blank?).
|
|
7
|
+
#
|
|
8
|
+
# @example Define the presence validator.
|
|
9
|
+
#
|
|
10
|
+
# class Person
|
|
11
|
+
# include Mongoid::Document
|
|
12
|
+
# field :title
|
|
13
|
+
#
|
|
14
|
+
# validates_presence_of :title
|
|
15
|
+
# end
|
|
16
|
+
class PresenceValidator < ActiveModel::EachValidator
|
|
17
|
+
|
|
18
|
+
# Validate the document for the attribute and value.
|
|
19
|
+
#
|
|
20
|
+
# @example Validate the document.
|
|
21
|
+
# validator.validate_each(doc, :title, "")
|
|
22
|
+
#
|
|
23
|
+
# @param [ Document ] document The document to validate.
|
|
24
|
+
# @param [ Symbol ] attribute The attribute name.
|
|
25
|
+
# @param [ Object ] value The current value of the field.
|
|
26
|
+
#
|
|
27
|
+
# @since 2.4.0
|
|
28
|
+
def validate_each(document, attribute, value)
|
|
29
|
+
field = document.fields[attribute.to_s]
|
|
30
|
+
if field && field.localized? && !value.blank?
|
|
31
|
+
value.each_pair do |locale, value|
|
|
32
|
+
document.errors.add(attribute, :blank, options) if value.blank?
|
|
33
|
+
end
|
|
34
|
+
else
|
|
35
|
+
document.errors.add(attribute, :blank, options) if value.blank?
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -47,14 +47,25 @@ module Mongoid #:nodoc:
|
|
|
47
47
|
criteria = relation.where(criterion(document, attribute, value))
|
|
48
48
|
criteria = scope(criteria, document, attribute)
|
|
49
49
|
if document.primary_key == Array.wrap(attribute)
|
|
50
|
-
|
|
50
|
+
if criteria.count > 1
|
|
51
|
+
document.errors.add(
|
|
52
|
+
attribute,
|
|
53
|
+
:taken, options.except(:case_sensitive, :scope).merge(:value => value)
|
|
54
|
+
)
|
|
55
|
+
end
|
|
51
56
|
else
|
|
52
|
-
|
|
57
|
+
if criteria.exists?
|
|
58
|
+
document.errors.add(
|
|
59
|
+
attribute,
|
|
60
|
+
:taken,
|
|
61
|
+
options.except(:case_sensitive, :scope).merge(:value => value)
|
|
62
|
+
)
|
|
63
|
+
end
|
|
53
64
|
end
|
|
54
65
|
else
|
|
55
66
|
criteria = klass.where(criterion(document, attribute, value))
|
|
56
67
|
criteria = scope(criteria, document, attribute)
|
|
57
|
-
document.errors.add(attribute, :taken) if criteria.exists?
|
|
68
|
+
document.errors.add(attribute, :taken, options.except(:case_sensitive, :scope).merge(:value => value)) if criteria.exists?
|
|
58
69
|
end
|
|
59
70
|
end
|
|
60
71
|
|
data/lib/mongoid/version.rb
CHANGED
data/lib/mongoid/versioning.rb
CHANGED
|
@@ -36,7 +36,9 @@ module Mongoid #:nodoc:
|
|
|
36
36
|
def revise
|
|
37
37
|
previous = previous_revision
|
|
38
38
|
if previous && versioned_attributes_changed?
|
|
39
|
-
versions.build(
|
|
39
|
+
versions.build(
|
|
40
|
+
previous.versioned_attributes, :without_protection => true
|
|
41
|
+
).attributes.delete("_id")
|
|
40
42
|
if version_max.present? && versions.length > version_max
|
|
41
43
|
versions.delete(versions.first)
|
|
42
44
|
end
|
|
@@ -52,7 +54,9 @@ module Mongoid #:nodoc:
|
|
|
52
54
|
#
|
|
53
55
|
# @since 2.2.1
|
|
54
56
|
def revise!
|
|
55
|
-
new_version = versions.build(
|
|
57
|
+
new_version = versions.build(
|
|
58
|
+
(previous_revision || self).versioned_attributes, :without_protection => true
|
|
59
|
+
)
|
|
56
60
|
versions.shift if version_max.present? && versions.length > version_max
|
|
57
61
|
self.version = (version || 1 ) + 1
|
|
58
62
|
save
|
data/lib/rails/mongoid.rb
CHANGED
|
@@ -15,6 +15,7 @@ module Rails #:nodoc:
|
|
|
15
15
|
#
|
|
16
16
|
# @since 2.1.0
|
|
17
17
|
def create_indexes(pattern)
|
|
18
|
+
logger = Logger.new($stdout)
|
|
18
19
|
Dir.glob(pattern).each do |file|
|
|
19
20
|
logger = Logger.new($stdout)
|
|
20
21
|
begin
|
|
@@ -22,9 +23,14 @@ module Rails #:nodoc:
|
|
|
22
23
|
if model
|
|
23
24
|
model.create_indexes
|
|
24
25
|
logger.info("Generated indexes for #{model}")
|
|
26
|
+
else
|
|
27
|
+
logger.info("Not a Mongoid parent model: #{file}")
|
|
25
28
|
end
|
|
26
29
|
rescue => e
|
|
27
|
-
logger.error
|
|
30
|
+
logger.error %Q{Failed to create indexes for #{model}:
|
|
31
|
+
#{e.class}:#{e.message}
|
|
32
|
+
#{e.backtrace.join("\n")}
|
|
33
|
+
}
|
|
28
34
|
end
|
|
29
35
|
end
|
|
30
36
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongoid
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.4.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,22 +9,22 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-01-05 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activemodel
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70168048476500 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ~>
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: 3.1
|
|
21
|
+
version: '3.1'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70168048476500
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: tzinfo
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70168048475740 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ~>
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: 0.3.22
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70168048475740
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: mongo
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70168048474680 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ~>
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '1.3'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70168048474680
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rdoc
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70168048473620 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 3.5.0
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70168048473620
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: bson_ext
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70168048473140 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '1.3'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70168048473140
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: mocha
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70168048472640 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ~>
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: 0.9.12
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70168048472640
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: rspec
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &70168048472160 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ~>
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '2.6'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *70168048472160
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: watchr
|
|
93
|
-
requirement: &
|
|
93
|
+
requirement: &70168048471300 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ~>
|
|
@@ -98,7 +98,18 @@ dependencies:
|
|
|
98
98
|
version: '0.6'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *70168048471300
|
|
102
|
+
- !ruby/object:Gem::Dependency
|
|
103
|
+
name: ammeter
|
|
104
|
+
requirement: &70168048470800 !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ~>
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 0.1.3
|
|
110
|
+
type: :development
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: *70168048470800
|
|
102
113
|
description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
|
|
103
114
|
in Ruby.
|
|
104
115
|
email:
|
|
@@ -145,6 +156,8 @@ files:
|
|
|
145
156
|
- lib/mongoid/collections.rb
|
|
146
157
|
- lib/mongoid/components.rb
|
|
147
158
|
- lib/mongoid/config/database.rb
|
|
159
|
+
- lib/mongoid/config/environment.rb
|
|
160
|
+
- lib/mongoid/config/options.rb
|
|
148
161
|
- lib/mongoid/config/replset_database.rb
|
|
149
162
|
- lib/mongoid/config.rb
|
|
150
163
|
- lib/mongoid/contexts/enumerable/sort.rb
|
|
@@ -160,6 +173,7 @@ files:
|
|
|
160
173
|
- lib/mongoid/criterion/inclusion.rb
|
|
161
174
|
- lib/mongoid/criterion/inspection.rb
|
|
162
175
|
- lib/mongoid/criterion/optional.rb
|
|
176
|
+
- lib/mongoid/criterion/scoping.rb
|
|
163
177
|
- lib/mongoid/criterion/selector.rb
|
|
164
178
|
- lib/mongoid/cursor.rb
|
|
165
179
|
- lib/mongoid/default_scope.rb
|
|
@@ -177,18 +191,23 @@ files:
|
|
|
177
191
|
- lib/mongoid/errors/invalid_type.rb
|
|
178
192
|
- lib/mongoid/errors/mixed_relations.rb
|
|
179
193
|
- lib/mongoid/errors/mongoid_error.rb
|
|
194
|
+
- lib/mongoid/errors/no_environment.rb
|
|
195
|
+
- lib/mongoid/errors/scope_overwrite.rb
|
|
180
196
|
- lib/mongoid/errors/too_many_nested_attribute_records.rb
|
|
181
197
|
- lib/mongoid/errors/unsaved_document.rb
|
|
182
198
|
- lib/mongoid/errors/unsupported_version.rb
|
|
183
199
|
- lib/mongoid/errors/validations.rb
|
|
184
200
|
- lib/mongoid/errors.rb
|
|
201
|
+
- lib/mongoid/extensions/array/deep_copy.rb
|
|
185
202
|
- lib/mongoid/extensions/array/deletion.rb
|
|
186
203
|
- lib/mongoid/extensions/false_class/equality.rb
|
|
187
204
|
- lib/mongoid/extensions/hash/criteria_helpers.rb
|
|
205
|
+
- lib/mongoid/extensions/hash/deep_copy.rb
|
|
188
206
|
- lib/mongoid/extensions/hash/scoping.rb
|
|
189
207
|
- lib/mongoid/extensions/integer/checks.rb
|
|
190
208
|
- lib/mongoid/extensions/nil/collectionization.rb
|
|
191
209
|
- lib/mongoid/extensions/object/checks.rb
|
|
210
|
+
- lib/mongoid/extensions/object/deep_copy.rb
|
|
192
211
|
- lib/mongoid/extensions/object/reflections.rb
|
|
193
212
|
- lib/mongoid/extensions/object/substitutable.rb
|
|
194
213
|
- lib/mongoid/extensions/object/yoda.rb
|
|
@@ -203,31 +222,31 @@ files:
|
|
|
203
222
|
- lib/mongoid/extensions.rb
|
|
204
223
|
- lib/mongoid/extras.rb
|
|
205
224
|
- lib/mongoid/factory.rb
|
|
225
|
+
- lib/mongoid/fields/internal/array.rb
|
|
226
|
+
- lib/mongoid/fields/internal/big_decimal.rb
|
|
227
|
+
- lib/mongoid/fields/internal/bignum.rb
|
|
228
|
+
- lib/mongoid/fields/internal/binary.rb
|
|
229
|
+
- lib/mongoid/fields/internal/boolean.rb
|
|
230
|
+
- lib/mongoid/fields/internal/date.rb
|
|
231
|
+
- lib/mongoid/fields/internal/date_time.rb
|
|
232
|
+
- lib/mongoid/fields/internal/fixnum.rb
|
|
233
|
+
- lib/mongoid/fields/internal/float.rb
|
|
234
|
+
- lib/mongoid/fields/internal/foreign_keys/array.rb
|
|
235
|
+
- lib/mongoid/fields/internal/foreign_keys/object.rb
|
|
236
|
+
- lib/mongoid/fields/internal/hash.rb
|
|
237
|
+
- lib/mongoid/fields/internal/integer.rb
|
|
238
|
+
- lib/mongoid/fields/internal/localized.rb
|
|
239
|
+
- lib/mongoid/fields/internal/nil_class.rb
|
|
240
|
+
- lib/mongoid/fields/internal/object.rb
|
|
241
|
+
- lib/mongoid/fields/internal/object_id.rb
|
|
242
|
+
- lib/mongoid/fields/internal/range.rb
|
|
243
|
+
- lib/mongoid/fields/internal/set.rb
|
|
244
|
+
- lib/mongoid/fields/internal/string.rb
|
|
245
|
+
- lib/mongoid/fields/internal/symbol.rb
|
|
246
|
+
- lib/mongoid/fields/internal/time.rb
|
|
247
|
+
- lib/mongoid/fields/internal/time_with_zone.rb
|
|
248
|
+
- lib/mongoid/fields/internal/timekeeping.rb
|
|
206
249
|
- lib/mongoid/fields/mappings.rb
|
|
207
|
-
- lib/mongoid/fields/serializable/array.rb
|
|
208
|
-
- lib/mongoid/fields/serializable/big_decimal.rb
|
|
209
|
-
- lib/mongoid/fields/serializable/bignum.rb
|
|
210
|
-
- lib/mongoid/fields/serializable/binary.rb
|
|
211
|
-
- lib/mongoid/fields/serializable/boolean.rb
|
|
212
|
-
- lib/mongoid/fields/serializable/date.rb
|
|
213
|
-
- lib/mongoid/fields/serializable/date_time.rb
|
|
214
|
-
- lib/mongoid/fields/serializable/fixnum.rb
|
|
215
|
-
- lib/mongoid/fields/serializable/float.rb
|
|
216
|
-
- lib/mongoid/fields/serializable/foreign_keys/array.rb
|
|
217
|
-
- lib/mongoid/fields/serializable/foreign_keys/object.rb
|
|
218
|
-
- lib/mongoid/fields/serializable/hash.rb
|
|
219
|
-
- lib/mongoid/fields/serializable/integer.rb
|
|
220
|
-
- lib/mongoid/fields/serializable/localized.rb
|
|
221
|
-
- lib/mongoid/fields/serializable/nil_class.rb
|
|
222
|
-
- lib/mongoid/fields/serializable/object.rb
|
|
223
|
-
- lib/mongoid/fields/serializable/object_id.rb
|
|
224
|
-
- lib/mongoid/fields/serializable/range.rb
|
|
225
|
-
- lib/mongoid/fields/serializable/set.rb
|
|
226
|
-
- lib/mongoid/fields/serializable/string.rb
|
|
227
|
-
- lib/mongoid/fields/serializable/symbol.rb
|
|
228
|
-
- lib/mongoid/fields/serializable/time.rb
|
|
229
|
-
- lib/mongoid/fields/serializable/time_with_zone.rb
|
|
230
|
-
- lib/mongoid/fields/serializable/timekeeping.rb
|
|
231
250
|
- lib/mongoid/fields/serializable.rb
|
|
232
251
|
- lib/mongoid/fields.rb
|
|
233
252
|
- lib/mongoid/finders.rb
|
|
@@ -327,7 +346,6 @@ files:
|
|
|
327
346
|
- lib/mongoid/relations/embedded/in.rb
|
|
328
347
|
- lib/mongoid/relations/embedded/many.rb
|
|
329
348
|
- lib/mongoid/relations/embedded/one.rb
|
|
330
|
-
- lib/mongoid/relations/embedded/sort.rb
|
|
331
349
|
- lib/mongoid/relations/macros.rb
|
|
332
350
|
- lib/mongoid/relations/many.rb
|
|
333
351
|
- lib/mongoid/relations/metadata.rb
|
|
@@ -360,6 +378,7 @@ files:
|
|
|
360
378
|
- lib/mongoid/timestamps/updated.rb
|
|
361
379
|
- lib/mongoid/timestamps.rb
|
|
362
380
|
- lib/mongoid/validations/associated.rb
|
|
381
|
+
- lib/mongoid/validations/presence.rb
|
|
363
382
|
- lib/mongoid/validations/uniqueness.rb
|
|
364
383
|
- lib/mongoid/validations.rb
|
|
365
384
|
- lib/mongoid/version.rb
|
|
@@ -393,7 +412,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
393
412
|
version: '0'
|
|
394
413
|
segments:
|
|
395
414
|
- 0
|
|
396
|
-
hash:
|
|
415
|
+
hash: -3374480126099241138
|
|
397
416
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
398
417
|
none: false
|
|
399
418
|
requirements:
|