mongoid 5.4.1 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +3 -3
  3. data/lib/config/locales/en.yml +19 -0
  4. data/lib/mongoid.rb +4 -4
  5. data/lib/mongoid/atomic.rb +2 -2
  6. data/lib/mongoid/atomic/modifiers.rb +8 -12
  7. data/lib/mongoid/attributes.rb +22 -21
  8. data/lib/mongoid/attributes/readonly.rb +22 -0
  9. data/lib/mongoid/cacheable.rb +36 -0
  10. data/lib/mongoid/changeable.rb +36 -0
  11. data/lib/mongoid/clients.rb +8 -63
  12. data/lib/mongoid/clients/options.rb +55 -250
  13. data/lib/mongoid/clients/storage_options.rb +1 -69
  14. data/lib/mongoid/composable.rb +29 -3
  15. data/lib/mongoid/config.rb +1 -0
  16. data/lib/mongoid/contextual/atomic.rb +5 -8
  17. data/lib/mongoid/contextual/map_reduce.rb +0 -4
  18. data/lib/mongoid/contextual/memory.rb +2 -2
  19. data/lib/mongoid/contextual/mongo.rb +40 -22
  20. data/lib/mongoid/contextual/none.rb +12 -0
  21. data/lib/mongoid/copyable.rb +13 -6
  22. data/lib/mongoid/criteria.rb +5 -2
  23. data/lib/mongoid/criteria/marshalable.rb +2 -2
  24. data/lib/mongoid/criteria/modifiable.rb +17 -1
  25. data/lib/mongoid/criteria/options.rb +25 -0
  26. data/lib/mongoid/criteria/queryable.rb +87 -0
  27. data/lib/mongoid/criteria/queryable/aggregable.rb +120 -0
  28. data/lib/mongoid/criteria/queryable/extensions.rb +28 -0
  29. data/lib/mongoid/criteria/queryable/extensions/array.rb +185 -0
  30. data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +37 -0
  31. data/lib/mongoid/criteria/queryable/extensions/boolean.rb +34 -0
  32. data/lib/mongoid/criteria/queryable/extensions/date.rb +63 -0
  33. data/lib/mongoid/criteria/queryable/extensions/date_time.rb +53 -0
  34. data/lib/mongoid/criteria/queryable/extensions/hash.rb +200 -0
  35. data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +86 -0
  36. data/lib/mongoid/criteria/queryable/extensions/numeric.rb +90 -0
  37. data/lib/mongoid/criteria/queryable/extensions/object.rb +206 -0
  38. data/lib/mongoid/criteria/queryable/extensions/range.rb +70 -0
  39. data/lib/mongoid/criteria/queryable/extensions/regexp.rb +79 -0
  40. data/lib/mongoid/criteria/queryable/extensions/set.rb +34 -0
  41. data/lib/mongoid/criteria/queryable/extensions/string.rb +137 -0
  42. data/lib/mongoid/criteria/queryable/extensions/symbol.rb +79 -0
  43. data/lib/mongoid/criteria/queryable/extensions/time.rb +60 -0
  44. data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +54 -0
  45. data/lib/mongoid/criteria/queryable/forwardable.rb +65 -0
  46. data/lib/mongoid/criteria/queryable/key.rb +103 -0
  47. data/lib/mongoid/criteria/queryable/macroable.rb +27 -0
  48. data/lib/mongoid/criteria/queryable/mergeable.rb +271 -0
  49. data/lib/mongoid/criteria/queryable/optional.rb +429 -0
  50. data/lib/mongoid/criteria/queryable/options.rb +153 -0
  51. data/lib/mongoid/criteria/queryable/pipeline.rb +111 -0
  52. data/lib/mongoid/criteria/queryable/selectable.rb +662 -0
  53. data/lib/mongoid/criteria/queryable/selector.rb +212 -0
  54. data/lib/mongoid/criteria/queryable/smash.rb +104 -0
  55. data/lib/mongoid/document.rb +30 -37
  56. data/lib/mongoid/errors.rb +2 -0
  57. data/lib/mongoid/errors/ambiguous_relationship.rb +1 -1
  58. data/lib/mongoid/errors/in_memory_collation_not_supported.rb +1 -1
  59. data/lib/mongoid/errors/invalid_field.rb +2 -2
  60. data/lib/mongoid/errors/invalid_persistence_option.rb +29 -0
  61. data/lib/mongoid/errors/invalid_relation.rb +66 -0
  62. data/lib/mongoid/evolvable.rb +1 -1
  63. data/lib/mongoid/extensions.rb +0 -4
  64. data/lib/mongoid/extensions/big_decimal.rb +17 -8
  65. data/lib/mongoid/extensions/date.rb +4 -1
  66. data/lib/mongoid/extensions/decimal128.rb +3 -3
  67. data/lib/mongoid/extensions/hash.rb +1 -0
  68. data/lib/mongoid/extensions/string.rb +4 -3
  69. data/lib/mongoid/extensions/time.rb +4 -1
  70. data/lib/mongoid/fields/validators/macro.rb +18 -0
  71. data/lib/mongoid/findable.rb +2 -2
  72. data/lib/mongoid/indexable.rb +15 -13
  73. data/lib/mongoid/interceptable.rb +5 -22
  74. data/lib/mongoid/matchable.rb +13 -7
  75. data/lib/mongoid/matchable/all.rb +2 -2
  76. data/lib/mongoid/matchable/and.rb +3 -3
  77. data/lib/mongoid/matchable/default.rb +2 -2
  78. data/lib/mongoid/matchable/elem_match.rb +28 -0
  79. data/lib/mongoid/matchable/exists.rb +2 -2
  80. data/lib/mongoid/matchable/gt.rb +4 -2
  81. data/lib/mongoid/matchable/gte.rb +4 -2
  82. data/lib/mongoid/matchable/in.rb +2 -2
  83. data/lib/mongoid/matchable/lt.rb +4 -2
  84. data/lib/mongoid/matchable/lte.rb +4 -2
  85. data/lib/mongoid/matchable/ne.rb +2 -2
  86. data/lib/mongoid/matchable/nin.rb +2 -2
  87. data/lib/mongoid/matchable/or.rb +3 -3
  88. data/lib/mongoid/matchable/regexp.rb +3 -3
  89. data/lib/mongoid/matchable/size.rb +2 -2
  90. data/lib/mongoid/persistable.rb +3 -5
  91. data/lib/mongoid/persistable/creatable.rb +2 -2
  92. data/lib/mongoid/persistable/deletable.rb +1 -1
  93. data/lib/mongoid/persistable/settable.rb +1 -1
  94. data/lib/mongoid/persistable/updatable.rb +5 -12
  95. data/lib/mongoid/persistable/upsertable.rb +1 -1
  96. data/lib/mongoid/persistence_context.rb +215 -0
  97. data/lib/mongoid/query_cache.rb +3 -6
  98. data/lib/mongoid/relations/accessors.rb +3 -0
  99. data/lib/mongoid/relations/auto_save.rb +12 -4
  100. data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +4 -4
  101. data/lib/mongoid/relations/counter_cache.rb +15 -5
  102. data/lib/mongoid/relations/eager.rb +6 -11
  103. data/lib/mongoid/relations/eager/base.rb +3 -3
  104. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +2 -2
  105. data/lib/mongoid/relations/eager/has_many.rb +1 -1
  106. data/lib/mongoid/relations/embedded/batchable.rb +12 -36
  107. data/lib/mongoid/relations/embedded/in.rb +13 -1
  108. data/lib/mongoid/relations/embedded/many.rb +28 -10
  109. data/lib/mongoid/relations/embedded/one.rb +14 -1
  110. data/lib/mongoid/relations/macros.rb +9 -1
  111. data/lib/mongoid/relations/metadata.rb +3 -3
  112. data/lib/mongoid/relations/options.rb +2 -2
  113. data/lib/mongoid/relations/proxy.rb +1 -31
  114. data/lib/mongoid/relations/referenced/in.rb +19 -10
  115. data/lib/mongoid/relations/referenced/many.rb +23 -17
  116. data/lib/mongoid/relations/referenced/many_to_many.rb +20 -13
  117. data/lib/mongoid/relations/referenced/one.rb +15 -1
  118. data/lib/mongoid/relations/synchronization.rb +11 -11
  119. data/lib/mongoid/relations/touchable.rb +6 -3
  120. data/lib/mongoid/reloadable.rb +1 -1
  121. data/lib/mongoid/serializable.rb +1 -1
  122. data/lib/mongoid/traversable.rb +1 -1
  123. data/lib/mongoid/validatable/uniqueness.rb +1 -2
  124. data/lib/mongoid/version.rb +1 -1
  125. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +14 -3
  126. data/spec/app/models/album.rb +5 -1
  127. data/spec/app/models/artist.rb +21 -0
  128. data/spec/app/models/book.rb +2 -1
  129. data/spec/app/models/dokument.rb +1 -0
  130. data/spec/app/models/ordered_post.rb +5 -0
  131. data/spec/app/models/oscar.rb +1 -2
  132. data/spec/app/models/page.rb +1 -1
  133. data/spec/app/models/person.rb +3 -3
  134. data/spec/app/models/princess.rb +2 -0
  135. data/spec/app/models/record.rb +1 -0
  136. data/spec/app/models/subscription.rb +1 -0
  137. data/spec/app/models/thing.rb +1 -1
  138. data/spec/config/mongoid.yml +15 -0
  139. data/spec/mongoid/atomic/modifiers_spec.rb +17 -17
  140. data/spec/mongoid/atomic_spec.rb +17 -17
  141. data/spec/mongoid/attributes/nested_spec.rb +14 -14
  142. data/spec/mongoid/attributes/readonly_spec.rb +87 -44
  143. data/spec/mongoid/attributes_spec.rb +90 -5
  144. data/spec/mongoid/cacheable_spec.rb +112 -0
  145. data/spec/mongoid/changeable_spec.rb +58 -0
  146. data/spec/mongoid/clients/factory_spec.rb +31 -3
  147. data/spec/mongoid/clients/options_spec.rb +382 -96
  148. data/spec/mongoid/clients_spec.rb +243 -101
  149. data/spec/mongoid/composable_spec.rb +7 -0
  150. data/spec/mongoid/config_spec.rb +67 -11
  151. data/spec/mongoid/contextual/atomic_spec.rb +3 -3
  152. data/spec/mongoid/contextual/mongo_spec.rb +165 -20
  153. data/spec/mongoid/contextual/none_spec.rb +15 -0
  154. data/spec/mongoid/copyable_spec.rb +13 -4
  155. data/spec/mongoid/criteria/modifiable_spec.rb +239 -7
  156. data/spec/mongoid/criteria/options_spec.rb +29 -0
  157. data/spec/mongoid/criteria/queryable/aggregable_spec.rb +370 -0
  158. data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +523 -0
  159. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +59 -0
  160. data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +58 -0
  161. data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +213 -0
  162. data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +330 -0
  163. data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +405 -0
  164. data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +58 -0
  165. data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +65 -0
  166. data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +327 -0
  167. data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +65 -0
  168. data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +77 -0
  169. data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +108 -0
  170. data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +309 -0
  171. data/spec/mongoid/{extensions/origin → criteria/queryable/extensions}/regexp_raw_spec.rb +2 -2
  172. data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +90 -0
  173. data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +39 -0
  174. data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +302 -0
  175. data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +167 -0
  176. data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +376 -0
  177. data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +347 -0
  178. data/spec/mongoid/criteria/queryable/forwardable_spec.rb +87 -0
  179. data/spec/mongoid/criteria/queryable/key_spec.rb +52 -0
  180. data/spec/mongoid/criteria/queryable/mergeable_spec.rb +49 -0
  181. data/spec/mongoid/criteria/queryable/optional_spec.rb +1799 -0
  182. data/spec/mongoid/criteria/queryable/options_spec.rb +360 -0
  183. data/spec/mongoid/criteria/queryable/pipeline_spec.rb +200 -0
  184. data/spec/mongoid/criteria/queryable/queryable_spec.rb +137 -0
  185. data/spec/mongoid/criteria/queryable/selectable_spec.rb +4174 -0
  186. data/spec/mongoid/criteria/queryable/selector_spec.rb +844 -0
  187. data/spec/mongoid/criteria/queryable/smash_spec.rb +30 -0
  188. data/spec/mongoid/criteria_spec.rb +152 -21
  189. data/spec/mongoid/document_spec.rb +37 -88
  190. data/spec/mongoid/errors/invalid_relation_spec.rb +37 -0
  191. data/spec/mongoid/errors/mongoid_error_spec.rb +6 -3
  192. data/spec/mongoid/extensions/big_decimal_spec.rb +320 -18
  193. data/spec/mongoid/extensions/boolean_spec.rb +14 -0
  194. data/spec/mongoid/extensions/date_spec.rb +2 -6
  195. data/spec/mongoid/extensions/date_time_spec.rb +2 -6
  196. data/spec/mongoid/extensions/decimal128_spec.rb +1 -1
  197. data/spec/mongoid/extensions/float_spec.rb +8 -1
  198. data/spec/mongoid/extensions/hash_spec.rb +15 -0
  199. data/spec/mongoid/extensions/integer_spec.rb +8 -1
  200. data/spec/mongoid/extensions/object_spec.rb +11 -0
  201. data/spec/mongoid/extensions/string_spec.rb +21 -0
  202. data/spec/mongoid/extensions/time_spec.rb +2 -6
  203. data/spec/mongoid/extensions/time_with_zone_spec.rb +2 -6
  204. data/spec/mongoid/findable_spec.rb +46 -1
  205. data/spec/mongoid/indexable_spec.rb +15 -3
  206. data/spec/mongoid/interceptable_spec.rb +68 -10
  207. data/spec/mongoid/matchable/all_spec.rb +4 -4
  208. data/spec/mongoid/matchable/and_spec.rb +10 -10
  209. data/spec/mongoid/matchable/default_spec.rb +12 -12
  210. data/spec/mongoid/matchable/elem_match_spec.rb +86 -0
  211. data/spec/mongoid/matchable/exists_spec.rb +5 -5
  212. data/spec/mongoid/matchable/gt_spec.rb +18 -7
  213. data/spec/mongoid/matchable/gte_spec.rb +17 -7
  214. data/spec/mongoid/matchable/in_spec.rb +5 -5
  215. data/spec/mongoid/matchable/lt_spec.rb +18 -7
  216. data/spec/mongoid/matchable/lte_spec.rb +18 -7
  217. data/spec/mongoid/matchable/ne_spec.rb +5 -5
  218. data/spec/mongoid/matchable/nin_spec.rb +5 -5
  219. data/spec/mongoid/matchable/or_spec.rb +7 -7
  220. data/spec/mongoid/matchable/regexp_spec.rb +5 -5
  221. data/spec/mongoid/matchable/size_spec.rb +3 -3
  222. data/spec/mongoid/matchable_spec.rb +173 -53
  223. data/spec/mongoid/persistable/creatable_spec.rb +7 -2
  224. data/spec/mongoid/persistable/deletable_spec.rb +16 -1
  225. data/spec/mongoid/persistable/destroyable_spec.rb +6 -2
  226. data/spec/mongoid/persistable/savable_spec.rb +35 -30
  227. data/spec/mongoid/persistable/settable_spec.rb +45 -29
  228. data/spec/mongoid/persistable/updatable_spec.rb +184 -5
  229. data/spec/mongoid/persistence_context_spec.rb +680 -0
  230. data/spec/mongoid/positional_spec.rb +10 -10
  231. data/spec/mongoid/query_cache_spec.rb +89 -0
  232. data/spec/mongoid/relations/accessors_spec.rb +1 -1
  233. data/spec/mongoid/relations/auto_save_spec.rb +39 -6
  234. data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +4 -4
  235. data/spec/mongoid/relations/builders_spec.rb +37 -10
  236. data/spec/mongoid/relations/counter_cache_spec.rb +64 -3
  237. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +16 -0
  238. data/spec/mongoid/relations/eager_spec.rb +40 -0
  239. data/spec/mongoid/relations/embedded/many_spec.rb +63 -47
  240. data/spec/mongoid/relations/embedded/one_spec.rb +2 -1
  241. data/spec/mongoid/relations/macros_spec.rb +395 -7
  242. data/spec/mongoid/relations/metadata_spec.rb +15 -1
  243. data/spec/mongoid/relations/proxy_spec.rb +27 -1
  244. data/spec/mongoid/relations/referenced/in_spec.rb +41 -1
  245. data/spec/mongoid/relations/referenced/many_spec.rb +13 -25
  246. data/spec/mongoid/relations/referenced/many_to_many_spec.rb +14 -26
  247. data/spec/mongoid/relations/synchronization_spec.rb +48 -2
  248. data/spec/mongoid/relations/touchable_spec.rb +40 -0
  249. data/spec/mongoid/reloadable_spec.rb +51 -0
  250. data/spec/mongoid/serializable_spec.rb +0 -50
  251. data/spec/mongoid/validatable/presence_spec.rb +1 -1
  252. data/spec/mongoid/validatable/uniqueness_spec.rb +18 -9
  253. data/spec/mongoid/validatable_spec.rb +16 -0
  254. data/spec/spec_helper.rb +20 -11
  255. metadata +524 -469
  256. checksums.yaml.gz.sig +0 -0
  257. data.tar.gz.sig +0 -0
  258. data/lib/mongoid/clients/thread_options.rb +0 -19
  259. data/lib/mongoid/extensions/origin/regexp_raw.rb +0 -43
  260. metadata.gz.sig +0 -0
@@ -4,6 +4,25 @@ describe Mongoid::Reloadable do
4
4
 
5
5
  describe "#reload" do
6
6
 
7
+ context 'when persistence options are set' do
8
+
9
+ let(:person) do
10
+ Person.with(collection: 'other') do |person_class|
11
+ person_class.create
12
+ end
13
+ end
14
+
15
+ let(:reloaded) do
16
+ Person.with(collection: 'other') do |person_class|
17
+ person_class.first
18
+ end
19
+ end
20
+
21
+ it 'applies the persistence options' do
22
+ expect(person).to eq(reloaded)
23
+ end
24
+ end
25
+
7
26
  context "when using bson ids" do
8
27
 
9
28
  let(:person) do
@@ -106,6 +125,38 @@ describe Mongoid::Reloadable do
106
125
 
107
126
  context "when embedded a single level" do
108
127
 
128
+ context 'when persistence options are set' do
129
+
130
+ let(:person) do
131
+ Person.with(collection: 'other') do |person_class|
132
+ person_class.create
133
+ end
134
+ end
135
+
136
+ let!(:address) do
137
+ person.with(collection: 'other') do |person_object|
138
+ person_object.addresses.create(street: "Abbey Road", number: 4)
139
+ end
140
+ end
141
+
142
+ before do
143
+ Person.mongo_client[:other].find(
144
+ { "_id" => person.id }
145
+ ).update_one({ "$set" => { "addresses.0.number" => 3 }})
146
+ end
147
+
148
+ let!(:reloaded) do
149
+ person.with(collection: 'other') do |person_class|
150
+ person.addresses.first.reload
151
+ end
152
+ end
153
+
154
+ it "reloads the embedded document attributes" do
155
+ expect(reloaded.number).to eq(3)
156
+ end
157
+
158
+ end
159
+
109
160
  context "when the relation is an embeds many" do
110
161
 
111
162
  let!(:address) do
@@ -829,54 +829,4 @@ describe Mongoid::Serializable do
829
829
  end
830
830
  end
831
831
  end
832
-
833
- describe "#to_xml" do
834
-
835
- context "BSON::ObjectId" do
836
-
837
- let(:person) do
838
- Person.new
839
- end
840
-
841
- it "serializes as string" do
842
- expect(person.to_xml).to include("<_id>#{person.id}</_id>")
843
- end
844
- end
845
-
846
- context "when an Array field is defined" do
847
-
848
- let(:person) do
849
- Person.new(
850
- aliases: [ "Kelly", "Machine Gun" ]
851
- )
852
- end
853
-
854
- it "properly types the array" do
855
- expect(person.to_xml).to include("<aliases type=\"array\">")
856
- end
857
-
858
- it "serializes the array" do
859
- expect(person.to_xml).to include("<alias>Kelly</alias>")
860
- expect(person.to_xml).to include("<alias>Machine Gun</alias>")
861
- end
862
- end
863
-
864
- context "when a Hash field is defined" do
865
-
866
- let(:person) do
867
- Person.new(
868
- map: { lat: 24.5, long: 22.1 }
869
- )
870
- end
871
-
872
- it "properly types the hash" do
873
- expect(person.to_xml).to include("<map>")
874
- end
875
-
876
- it "serializes the hash" do
877
- expect(person.to_xml).to include("<lat type=\"float\">24.5</lat>")
878
- expect(person.to_xml).to include("<long type=\"float\">22.1</long>")
879
- end
880
- end
881
- end
882
832
  end
@@ -280,7 +280,7 @@ describe Mongoid::Validatable::PresenceValidator do
280
280
  end
281
281
 
282
282
  it "does not save the relation" do
283
- expect { game.reload }.to raise_error
283
+ expect { game.reload }.to raise_error(Mongoid::Errors::DocumentNotFound)
284
284
  end
285
285
  end
286
286
  end
@@ -19,34 +19,41 @@ describe Mongoid::Validatable::UniquenessValidator do
19
19
  context "when persisting to another collection" do
20
20
 
21
21
  before do
22
- Dictionary.with(collection: "dicts").create(name: "websters")
22
+ Dictionary.with(collection: "dicts") do |klass|
23
+ klass.create(name: "websters")
24
+ end
23
25
  end
24
26
 
25
27
  context "when the document is not valid" do
26
28
 
27
29
  let(:websters) do
28
- Dictionary.with(collection: "dicts").new(name: "websters")
30
+ object = nil
31
+ valid = Dictionary.with(collection: "dicts") do |klass|
32
+ object = klass.new(name: "websters")
33
+ object.valid?
34
+ end
35
+ { :valid => valid, :object => object }
29
36
  end
30
37
 
31
38
  it "performs the validation on the correct collection" do
32
- expect(websters).to_not be_valid
39
+ expect(websters[:valid]).to be(false)
33
40
  end
34
41
 
35
42
  it "adds the uniqueness error" do
36
- websters.valid?
37
- expect(websters.errors[:name]).to_not be_nil
43
+ expect(websters[:object].errors[:name]).to_not be_nil
38
44
  end
39
45
 
40
46
  it "clears the persistence options in the thread local" do
41
- websters.valid?
42
- expect(Dictionary.persistence_options).to be_nil
47
+ expect(Dictionary.persistence_context).to eq(Mongoid::PersistenceContext.new(Dictionary))
43
48
  end
44
49
  end
45
50
 
46
51
  context "when the document is valid" do
47
52
 
48
53
  let(:oxford) do
49
- Dictionary.with(collection: "dicts").new(name: "oxford")
54
+ Dictionary.with(collection: "dicts") do |klass|
55
+ klass.new(name: "oxford")
56
+ end
50
57
  end
51
58
 
52
59
  it "performs the validation on the correct collection" do
@@ -2417,6 +2424,7 @@ describe Mongoid::Validatable::UniquenessValidator do
2417
2424
 
2418
2425
  before do
2419
2426
  Person.validates_uniqueness_of(:username)
2427
+ Person.index({ ssn: 1 }, { unique: true })
2420
2428
  Person.create_indexes
2421
2429
  end
2422
2430
 
@@ -2426,12 +2434,13 @@ describe Mongoid::Validatable::UniquenessValidator do
2426
2434
 
2427
2435
  after do
2428
2436
  Person.reset_callbacks(:validate)
2437
+ Person.collection.drop
2429
2438
  end
2430
2439
 
2431
2440
  it "transfers the options to the cloned client" do
2432
2441
  expect {
2433
2442
  Person.create!(ssn: "132-11-1111", username: "asdfsdfA")
2434
- }.to raise_error
2443
+ }.to raise_error(Mongo::Error::OperationFailure)
2435
2444
  end
2436
2445
  end
2437
2446
  end
@@ -69,6 +69,22 @@ describe Mongoid::Validatable do
69
69
  it "uses the provided context" do
70
70
  expect(account).to be_valid(:update)
71
71
  end
72
+
73
+ context 'when multiple contexts are provided' do
74
+
75
+ let(:princess) do
76
+ Princess.new
77
+ end
78
+
79
+ let(:validation) do
80
+ princess.valid?([:create, :update])
81
+ end
82
+
83
+ it 'validates using each context' do
84
+ expect(validation).to be(false)
85
+ expect(princess.errors.messages.keys).to eq([:color, :name])
86
+ end
87
+ end
72
88
  end
73
89
 
74
90
  context "when not provided a context" do
data/spec/spec_helper.rb CHANGED
@@ -36,7 +36,7 @@ require 'support/authorization'
36
36
  require 'support/expectations'
37
37
 
38
38
  # Give MongoDB time to start up on the travis ci environment.
39
- if (ENV['CI'] == 'travis')
39
+ if (ENV['CI'] == 'travis' || ENV['CI'] == 'evergreen')
40
40
  starting = true
41
41
  client = Mongo::Client.new(['127.0.0.1:27017'])
42
42
  while starting
@@ -57,13 +57,16 @@ CONFIG = {
57
57
  hosts: [ "#{HOST}:#{PORT}" ],
58
58
  options: {
59
59
  server_selection_timeout: 0.5,
60
- max_pool_size: 5,
60
+ max_pool_size: 1,
61
61
  heartbeat_frequency: 180,
62
62
  user: MONGOID_ROOT_USER.name,
63
63
  password: MONGOID_ROOT_USER.password,
64
64
  auth_source: Mongo::Database::ADMIN,
65
65
  }
66
66
  }
67
+ },
68
+ options: {
69
+ belongs_to_required_by_default: false
67
70
  }
68
71
  }
69
72
 
@@ -71,24 +74,24 @@ def non_legacy_server?
71
74
  Mongoid::Clients.default.cluster.servers.first.features.write_command_enabled?
72
75
  end
73
76
 
74
- def testing_locally?
75
- !(ENV['CI'] == 'travis')
76
- end
77
-
78
77
  def testing_replica_set?
79
78
  Mongoid::Clients.default.cluster.replica_set?
80
79
  end
81
80
 
82
- # Set the database that the spec suite connects to.
83
- Mongoid.configure do |config|
84
- config.load_configuration(CONFIG)
85
- end
86
-
87
81
  def collation_supported?
88
82
  Mongoid::Clients.default.cluster.next_primary.features.collation_enabled?
89
83
  end
90
84
  alias :decimal128_supported? :collation_supported?
91
85
 
86
+ def testing_locally?
87
+ !(ENV['CI'] == 'travis')
88
+ end
89
+
90
+ # Set the database that the spec suite connects to.
91
+ Mongoid.configure do |config|
92
+ config.load_configuration(CONFIG)
93
+ end
94
+
92
95
  # Autoload every model for the test suite that sits in spec/app/models.
93
96
  Dir[ File.join(MODELS, "*.rb") ].sort.each do |file|
94
97
  name = File.basename(file, ".rb")
@@ -105,6 +108,12 @@ module MyApp
105
108
  end
106
109
  end
107
110
 
111
+ module Mongoid
112
+ class Query
113
+ include Mongoid::Criteria::Queryable
114
+ end
115
+ end
116
+
108
117
  ActiveSupport::Inflector.inflections do |inflect|
109
118
  inflect.irregular("canvas", "canvases")
110
119
  inflect.singular("address_components", "address_component")
metadata CHANGED
@@ -1,35 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.1
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDRDCCAiygAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtkcml2
14
- ZXItcnVieS9EQz0xMGdlbi9EQz1jb20wHhcNMTkwMTE3MjIzMDE1WhcNMjAwMTE3
15
- MjIzMDE1WjAmMSQwIgYDVQQDDBtkcml2ZXItcnVieS9EQz0xMGdlbi9EQz1jb20w
16
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRXUgGvH0ZtWwDPc2umdHw
17
- B+INNm6jNTRp8PMyUKxPzxaxX2OiBQk9gLC3zsK9ZmlZu4lNfpHVSCEPoiP/fhPg
18
- Kyfq2xld3Qz0Pki5d5i0/r14343MTKiNiFulLlbbdlN0cXeEFNJHUycZnD2LOXwz
19
- egYGHOl14FI8t5visIWtqRnLXXIlDsBHzmeEZjUZRGSgjC0R3RT/I+Fk5yUhn1w4
20
- rqFyAiW+cjjzmT7mmqT0jV6fd0JFHbKnSgt9iPijKSimBgUOsorHwOTMlTzwsy0d
21
- ZT+al1RiT5zqlAJLxFHwmoYOxD/bSNtKsYl60ek0hK2mISBVy9BBmLvCgHDx5uSp
22
- AgMBAAGjfTB7MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRbd1mx
23
- fvSaVIwKI+tnEAYDW/B81zAgBgNVHREEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5j
24
- b20wIAYDVR0SBBkwF4EVZHJpdmVyLXJ1YnlAMTBnZW4uY29tMA0GCSqGSIb3DQEB
25
- CwUAA4IBAQBtXpljL+EXFgH2YRSkYTNn9WKurclJKqaMTJvJoEm2mX1IbAg+BX+i
26
- Eb+rKelkjezRqVkurzRjif8RI9aGBpAyfobQfHHJNzHQzSFwhEmwlGDQRgQzrDhN
27
- cbkRB2wDgGJNjnjMKLXfeZX+SjWAsHDrOc+Ue9nHs2AdJxCTDgB1MMNGZ1UjLL9/
28
- HhO93otEnxwCVijD9ruORb0bT9LlNKosQQEzrhXtOtNK9k7s7G6Gi0BFMOIJDVyq
29
- bMYVwXXhV8czdzgkQB/ZPWHSbEWXnmkze1mzvqWBCPOVXYrcnL9cnEl/RoxtS1hr
30
- Db6Ac6mCUSYfYHBWpWqxjc45n70i5Xi1
31
- -----END CERTIFICATE-----
32
- date: 2019-10-08 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2017-06-06 00:00:00.000000000 Z
33
12
  dependencies:
34
13
  - !ruby/object:Gem::Dependency
35
14
  name: activemodel
@@ -37,35 +16,21 @@ dependencies:
37
16
  requirements:
38
17
  - - "~>"
39
18
  - !ruby/object:Gem::Version
40
- version: '4.0'
19
+ version: '5.0'
41
20
  type: :runtime
42
21
  prerelease: false
43
22
  version_requirements: !ruby/object:Gem::Requirement
44
23
  requirements:
45
24
  - - "~>"
46
25
  - !ruby/object:Gem::Version
47
- version: '4.0'
48
- - !ruby/object:Gem::Dependency
49
- name: tzinfo
50
- requirement: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 0.3.37
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 0.3.37
26
+ version: '5.0'
62
27
  - !ruby/object:Gem::Dependency
63
28
  name: mongo
64
29
  requirement: !ruby/object:Gem::Requirement
65
30
  requirements:
66
31
  - - ">="
67
32
  - !ruby/object:Gem::Version
68
- version: 2.5.1
33
+ version: 2.4.1
69
34
  - - "<"
70
35
  - !ruby/object:Gem::Version
71
36
  version: 3.0.0
@@ -75,24 +40,10 @@ dependencies:
75
40
  requirements:
76
41
  - - ">="
77
42
  - !ruby/object:Gem::Version
78
- version: 2.5.1
43
+ version: 2.4.1
79
44
  - - "<"
80
45
  - !ruby/object:Gem::Version
81
46
  version: 3.0.0
82
- - !ruby/object:Gem::Dependency
83
- name: origin
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '2.3'
89
- type: :runtime
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '2.3'
96
47
  description: Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written
97
48
  in Ruby.
98
49
  email:
@@ -119,12 +70,12 @@ files:
119
70
  - lib/mongoid/attributes/nested.rb
120
71
  - lib/mongoid/attributes/processing.rb
121
72
  - lib/mongoid/attributes/readonly.rb
73
+ - lib/mongoid/cacheable.rb
122
74
  - lib/mongoid/changeable.rb
123
75
  - lib/mongoid/clients.rb
124
76
  - lib/mongoid/clients/factory.rb
125
77
  - lib/mongoid/clients/options.rb
126
78
  - lib/mongoid/clients/storage_options.rb
127
- - lib/mongoid/clients/thread_options.rb
128
79
  - lib/mongoid/clients/validators.rb
129
80
  - lib/mongoid/clients/validators/storage.rb
130
81
  - lib/mongoid/composable.rb
@@ -152,7 +103,37 @@ files:
152
103
  - lib/mongoid/criteria/inspectable.rb
153
104
  - lib/mongoid/criteria/marshalable.rb
154
105
  - lib/mongoid/criteria/modifiable.rb
106
+ - lib/mongoid/criteria/options.rb
155
107
  - lib/mongoid/criteria/permission.rb
108
+ - lib/mongoid/criteria/queryable.rb
109
+ - lib/mongoid/criteria/queryable/aggregable.rb
110
+ - lib/mongoid/criteria/queryable/extensions.rb
111
+ - lib/mongoid/criteria/queryable/extensions/array.rb
112
+ - lib/mongoid/criteria/queryable/extensions/big_decimal.rb
113
+ - lib/mongoid/criteria/queryable/extensions/boolean.rb
114
+ - lib/mongoid/criteria/queryable/extensions/date.rb
115
+ - lib/mongoid/criteria/queryable/extensions/date_time.rb
116
+ - lib/mongoid/criteria/queryable/extensions/hash.rb
117
+ - lib/mongoid/criteria/queryable/extensions/nil_class.rb
118
+ - lib/mongoid/criteria/queryable/extensions/numeric.rb
119
+ - lib/mongoid/criteria/queryable/extensions/object.rb
120
+ - lib/mongoid/criteria/queryable/extensions/range.rb
121
+ - lib/mongoid/criteria/queryable/extensions/regexp.rb
122
+ - lib/mongoid/criteria/queryable/extensions/set.rb
123
+ - lib/mongoid/criteria/queryable/extensions/string.rb
124
+ - lib/mongoid/criteria/queryable/extensions/symbol.rb
125
+ - lib/mongoid/criteria/queryable/extensions/time.rb
126
+ - lib/mongoid/criteria/queryable/extensions/time_with_zone.rb
127
+ - lib/mongoid/criteria/queryable/forwardable.rb
128
+ - lib/mongoid/criteria/queryable/key.rb
129
+ - lib/mongoid/criteria/queryable/macroable.rb
130
+ - lib/mongoid/criteria/queryable/mergeable.rb
131
+ - lib/mongoid/criteria/queryable/optional.rb
132
+ - lib/mongoid/criteria/queryable/options.rb
133
+ - lib/mongoid/criteria/queryable/pipeline.rb
134
+ - lib/mongoid/criteria/queryable/selectable.rb
135
+ - lib/mongoid/criteria/queryable/selector.rb
136
+ - lib/mongoid/criteria/queryable/smash.rb
156
137
  - lib/mongoid/criteria/scopable.rb
157
138
  - lib/mongoid/document.rb
158
139
  - lib/mongoid/equality.rb
@@ -173,6 +154,8 @@ files:
173
154
  - lib/mongoid/errors/invalid_index.rb
174
155
  - lib/mongoid/errors/invalid_options.rb
175
156
  - lib/mongoid/errors/invalid_path.rb
157
+ - lib/mongoid/errors/invalid_persistence_option.rb
158
+ - lib/mongoid/errors/invalid_relation.rb
176
159
  - lib/mongoid/errors/invalid_scope.rb
177
160
  - lib/mongoid/errors/invalid_set_polymorphic_relation.rb
178
161
  - lib/mongoid/errors/invalid_storage_options.rb
@@ -217,7 +200,6 @@ files:
217
200
  - lib/mongoid/extensions/nil_class.rb
218
201
  - lib/mongoid/extensions/object.rb
219
202
  - lib/mongoid/extensions/object_id.rb
220
- - lib/mongoid/extensions/origin/regexp_raw.rb
221
203
  - lib/mongoid/extensions/range.rb
222
204
  - lib/mongoid/extensions/regexp.rb
223
205
  - lib/mongoid/extensions/set.rb
@@ -244,6 +226,7 @@ files:
244
226
  - lib/mongoid/matchable/all.rb
245
227
  - lib/mongoid/matchable/and.rb
246
228
  - lib/mongoid/matchable/default.rb
229
+ - lib/mongoid/matchable/elem_match.rb
247
230
  - lib/mongoid/matchable/exists.rb
248
231
  - lib/mongoid/matchable/gt.rb
249
232
  - lib/mongoid/matchable/gte.rb
@@ -270,6 +253,7 @@ files:
270
253
  - lib/mongoid/persistable/unsettable.rb
271
254
  - lib/mongoid/persistable/updatable.rb
272
255
  - lib/mongoid/persistable/upsertable.rb
256
+ - lib/mongoid/persistence_context.rb
273
257
  - lib/mongoid/positional.rb
274
258
  - lib/mongoid/query_cache.rb
275
259
  - lib/mongoid/railtie.rb
@@ -589,6 +573,7 @@ files:
589
573
  - spec/mongoid/attributes/nested_spec.rb
590
574
  - spec/mongoid/attributes/readonly_spec.rb
591
575
  - spec/mongoid/attributes_spec.rb
576
+ - spec/mongoid/cacheable_spec.rb
592
577
  - spec/mongoid/changeable_spec.rb
593
578
  - spec/mongoid/clients/factory_spec.rb
594
579
  - spec/mongoid/clients/options_spec.rb
@@ -610,6 +595,38 @@ files:
610
595
  - spec/mongoid/criteria/inspectable_spec.rb
611
596
  - spec/mongoid/criteria/marshalable_spec.rb
612
597
  - spec/mongoid/criteria/modifiable_spec.rb
598
+ - spec/mongoid/criteria/options_spec.rb
599
+ - spec/mongoid/criteria/queryable/aggregable_spec.rb
600
+ - spec/mongoid/criteria/queryable/extensions/array_spec.rb
601
+ - spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb
602
+ - spec/mongoid/criteria/queryable/extensions/bignum_spec.rb
603
+ - spec/mongoid/criteria/queryable/extensions/boolean_spec.rb
604
+ - spec/mongoid/criteria/queryable/extensions/date_spec.rb
605
+ - spec/mongoid/criteria/queryable/extensions/date_time_spec.rb
606
+ - spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb
607
+ - spec/mongoid/criteria/queryable/extensions/float_spec.rb
608
+ - spec/mongoid/criteria/queryable/extensions/hash_spec.rb
609
+ - spec/mongoid/criteria/queryable/extensions/integer_spec.rb
610
+ - spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
611
+ - spec/mongoid/criteria/queryable/extensions/object_spec.rb
612
+ - spec/mongoid/criteria/queryable/extensions/range_spec.rb
613
+ - spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb
614
+ - spec/mongoid/criteria/queryable/extensions/regexp_spec.rb
615
+ - spec/mongoid/criteria/queryable/extensions/set_spec.rb
616
+ - spec/mongoid/criteria/queryable/extensions/string_spec.rb
617
+ - spec/mongoid/criteria/queryable/extensions/symbol_spec.rb
618
+ - spec/mongoid/criteria/queryable/extensions/time_spec.rb
619
+ - spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb
620
+ - spec/mongoid/criteria/queryable/forwardable_spec.rb
621
+ - spec/mongoid/criteria/queryable/key_spec.rb
622
+ - spec/mongoid/criteria/queryable/mergeable_spec.rb
623
+ - spec/mongoid/criteria/queryable/optional_spec.rb
624
+ - spec/mongoid/criteria/queryable/options_spec.rb
625
+ - spec/mongoid/criteria/queryable/pipeline_spec.rb
626
+ - spec/mongoid/criteria/queryable/queryable_spec.rb
627
+ - spec/mongoid/criteria/queryable/selectable_spec.rb
628
+ - spec/mongoid/criteria/queryable/selector_spec.rb
629
+ - spec/mongoid/criteria/queryable/smash_spec.rb
613
630
  - spec/mongoid/criteria/scopable_spec.rb
614
631
  - spec/mongoid/criteria_spec.rb
615
632
  - spec/mongoid/document_spec.rb
@@ -629,6 +646,7 @@ files:
629
646
  - spec/mongoid/errors/invalid_index_spec.rb
630
647
  - spec/mongoid/errors/invalid_options_spec.rb
631
648
  - spec/mongoid/errors/invalid_path_spec.rb
649
+ - spec/mongoid/errors/invalid_relation_spec.rb
632
650
  - spec/mongoid/errors/invalid_scope_spec.rb
633
651
  - spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb
634
652
  - spec/mongoid/errors/invalid_storage_options_spec.rb
@@ -669,7 +687,6 @@ files:
669
687
  - spec/mongoid/extensions/nil_class_spec.rb
670
688
  - spec/mongoid/extensions/object_id_spec.rb
671
689
  - spec/mongoid/extensions/object_spec.rb
672
- - spec/mongoid/extensions/origin/regexp_raw_spec.rb
673
690
  - spec/mongoid/extensions/range_spec.rb
674
691
  - spec/mongoid/extensions/regexp_spec.rb
675
692
  - spec/mongoid/extensions/set_spec.rb
@@ -695,6 +712,7 @@ files:
695
712
  - spec/mongoid/matchable/all_spec.rb
696
713
  - spec/mongoid/matchable/and_spec.rb
697
714
  - spec/mongoid/matchable/default_spec.rb
715
+ - spec/mongoid/matchable/elem_match_spec.rb
698
716
  - spec/mongoid/matchable/exists_spec.rb
699
717
  - spec/mongoid/matchable/gt_spec.rb
700
718
  - spec/mongoid/matchable/gte_spec.rb
@@ -722,6 +740,7 @@ files:
722
740
  - spec/mongoid/persistable/updatable_spec.rb
723
741
  - spec/mongoid/persistable/upsertable_spec.rb
724
742
  - spec/mongoid/persistable_spec.rb
743
+ - spec/mongoid/persistence_context_spec.rb
725
744
  - spec/mongoid/positional_spec.rb
726
745
  - spec/mongoid/query_cache_spec.rb
727
746
  - spec/mongoid/railties/document_spec.rb
@@ -816,449 +835,485 @@ required_ruby_version: !ruby/object:Gem::Requirement
816
835
  requirements:
817
836
  - - ">="
818
837
  - !ruby/object:Gem::Version
819
- version: '1.9'
838
+ version: '2.2'
820
839
  required_rubygems_version: !ruby/object:Gem::Requirement
821
840
  requirements:
822
841
  - - ">="
823
842
  - !ruby/object:Gem::Version
824
843
  version: 1.3.6
825
844
  requirements: []
826
- rubygems_version: 3.0.3
845
+ rubyforge_project: mongoid
846
+ rubygems_version: 2.6.11
827
847
  signing_key:
828
848
  specification_version: 4
829
849
  summary: Elegant Persistence in Ruby for MongoDB.
830
850
  test_files:
831
- - spec/support/expectations.rb
832
- - spec/support/authorization.rb
833
- - spec/mongoid_spec.rb
834
- - spec/mongoid/extensions_spec.rb
835
- - spec/mongoid/loggable_spec.rb
836
- - spec/mongoid/indexable_spec.rb
837
- - spec/mongoid/criteria_spec.rb
838
- - spec/mongoid/copyable_spec.rb
839
- - spec/mongoid/clients_spec.rb
840
- - spec/mongoid/changeable_spec.rb
851
+ - spec/app/models/account.rb
852
+ - spec/app/models/acolyte.rb
853
+ - spec/app/models/actor.rb
854
+ - spec/app/models/actress.rb
855
+ - spec/app/models/address.rb
856
+ - spec/app/models/address_component.rb
857
+ - spec/app/models/address_number.rb
858
+ - spec/app/models/agency.rb
859
+ - spec/app/models/agent.rb
860
+ - spec/app/models/album.rb
861
+ - spec/app/models/alert.rb
862
+ - spec/app/models/animal.rb
863
+ - spec/app/models/answer.rb
864
+ - spec/app/models/appointment.rb
865
+ - spec/app/models/article.rb
866
+ - spec/app/models/artist.rb
867
+ - spec/app/models/artwork.rb
868
+ - spec/app/models/audio.rb
869
+ - spec/app/models/augmentation.rb
870
+ - spec/app/models/author.rb
871
+ - spec/app/models/baby.rb
872
+ - spec/app/models/band.rb
873
+ - spec/app/models/bar.rb
874
+ - spec/app/models/basic.rb
875
+ - spec/app/models/bed.rb
876
+ - spec/app/models/big_palette.rb
877
+ - spec/app/models/birthday.rb
878
+ - spec/app/models/bomb.rb
879
+ - spec/app/models/book.rb
880
+ - spec/app/models/breed.rb
881
+ - spec/app/models/browser.rb
882
+ - spec/app/models/building.rb
883
+ - spec/app/models/building_address.rb
884
+ - spec/app/models/bus.rb
885
+ - spec/app/models/business.rb
886
+ - spec/app/models/callback_test.rb
887
+ - spec/app/models/canvas.rb
888
+ - spec/app/models/car.rb
889
+ - spec/app/models/cat.rb
890
+ - spec/app/models/category.rb
891
+ - spec/app/models/child.rb
892
+ - spec/app/models/child_doc.rb
893
+ - spec/app/models/church.rb
894
+ - spec/app/models/circle.rb
895
+ - spec/app/models/circuit.rb
896
+ - spec/app/models/circus.rb
897
+ - spec/app/models/code.rb
898
+ - spec/app/models/comment.rb
899
+ - spec/app/models/company.rb
900
+ - spec/app/models/consumption_period.rb
901
+ - spec/app/models/contextable_item.rb
902
+ - spec/app/models/contractor.rb
903
+ - spec/app/models/cookie.rb
904
+ - spec/app/models/country_code.rb
905
+ - spec/app/models/courier_job.rb
906
+ - spec/app/models/definition.rb
907
+ - spec/app/models/description.rb
908
+ - spec/app/models/dictionary.rb
909
+ - spec/app/models/division.rb
910
+ - spec/app/models/doctor.rb
911
+ - spec/app/models/dog.rb
912
+ - spec/app/models/dokument.rb
913
+ - spec/app/models/draft.rb
914
+ - spec/app/models/dragon.rb
915
+ - spec/app/models/driver.rb
916
+ - spec/app/models/drug.rb
917
+ - spec/app/models/dungeon.rb
918
+ - spec/app/models/edit.rb
919
+ - spec/app/models/email.rb
920
+ - spec/app/models/employer.rb
921
+ - spec/app/models/entry.rb
922
+ - spec/app/models/eraser.rb
923
+ - spec/app/models/even.rb
924
+ - spec/app/models/event.rb
925
+ - spec/app/models/exhibition.rb
926
+ - spec/app/models/exhibitor.rb
927
+ - spec/app/models/explosion.rb
928
+ - spec/app/models/eye.rb
929
+ - spec/app/models/eye_bowl.rb
930
+ - spec/app/models/face.rb
931
+ - spec/app/models/favorite.rb
932
+ - spec/app/models/filesystem.rb
933
+ - spec/app/models/fire_hydrant.rb
934
+ - spec/app/models/firefox.rb
935
+ - spec/app/models/fish.rb
936
+ - spec/app/models/folder.rb
937
+ - spec/app/models/folder_item.rb
938
+ - spec/app/models/fruits.rb
939
+ - spec/app/models/game.rb
940
+ - spec/app/models/ghost.rb
941
+ - spec/app/models/home.rb
942
+ - spec/app/models/house.rb
943
+ - spec/app/models/html_writer.rb
944
+ - spec/app/models/id_key.rb
945
+ - spec/app/models/image.rb
946
+ - spec/app/models/implant.rb
947
+ - spec/app/models/item.rb
948
+ - spec/app/models/jar.rb
949
+ - spec/app/models/kaleidoscope.rb
950
+ - spec/app/models/kangaroo.rb
951
+ - spec/app/models/label.rb
952
+ - spec/app/models/language.rb
953
+ - spec/app/models/lat_lng.rb
954
+ - spec/app/models/league.rb
955
+ - spec/app/models/learner.rb
956
+ - spec/app/models/line_item.rb
957
+ - spec/app/models/location.rb
958
+ - spec/app/models/login.rb
959
+ - spec/app/models/manufacturer.rb
960
+ - spec/app/models/meat.rb
961
+ - spec/app/models/membership.rb
962
+ - spec/app/models/message.rb
963
+ - spec/app/models/mixed_drink.rb
964
+ - spec/app/models/movie.rb
965
+ - spec/app/models/my_hash.rb
966
+ - spec/app/models/name.rb
967
+ - spec/app/models/node.rb
968
+ - spec/app/models/note.rb
969
+ - spec/app/models/odd.rb
970
+ - spec/app/models/ordered_post.rb
971
+ - spec/app/models/ordered_preference.rb
972
+ - spec/app/models/oscar.rb
973
+ - spec/app/models/override.rb
974
+ - spec/app/models/ownable.rb
975
+ - spec/app/models/owner.rb
976
+ - spec/app/models/pack.rb
977
+ - spec/app/models/page.rb
978
+ - spec/app/models/page_question.rb
979
+ - spec/app/models/palette.rb
980
+ - spec/app/models/parent.rb
981
+ - spec/app/models/parent_doc.rb
982
+ - spec/app/models/passport.rb
983
+ - spec/app/models/patient.rb
984
+ - spec/app/models/pdf_writer.rb
985
+ - spec/app/models/pencil.rb
986
+ - spec/app/models/person.rb
987
+ - spec/app/models/pet.rb
988
+ - spec/app/models/pet_owner.rb
989
+ - spec/app/models/phone.rb
990
+ - spec/app/models/pizza.rb
991
+ - spec/app/models/player.rb
992
+ - spec/app/models/post.rb
993
+ - spec/app/models/post_genre.rb
994
+ - spec/app/models/powerup.rb
995
+ - spec/app/models/preference.rb
996
+ - spec/app/models/princess.rb
997
+ - spec/app/models/product.rb
998
+ - spec/app/models/profile.rb
999
+ - spec/app/models/pronunciation.rb
1000
+ - spec/app/models/pub.rb
1001
+ - spec/app/models/purchase.rb
1002
+ - spec/app/models/question.rb
1003
+ - spec/app/models/quiz.rb
1004
+ - spec/app/models/rating.rb
1005
+ - spec/app/models/record.rb
1006
+ - spec/app/models/registry.rb
1007
+ - spec/app/models/role.rb
1008
+ - spec/app/models/root_category.rb
1009
+ - spec/app/models/sandwich.rb
1010
+ - spec/app/models/scheduler.rb
1011
+ - spec/app/models/seo.rb
1012
+ - spec/app/models/series.rb
1013
+ - spec/app/models/server.rb
1014
+ - spec/app/models/service.rb
1015
+ - spec/app/models/shape.rb
1016
+ - spec/app/models/shelf.rb
1017
+ - spec/app/models/shipment_address.rb
1018
+ - spec/app/models/shipping_container.rb
1019
+ - spec/app/models/shipping_pack.rb
1020
+ - spec/app/models/shop.rb
1021
+ - spec/app/models/short_agent.rb
1022
+ - spec/app/models/short_quiz.rb
1023
+ - spec/app/models/simple.rb
1024
+ - spec/app/models/slave.rb
1025
+ - spec/app/models/song.rb
1026
+ - spec/app/models/sound.rb
1027
+ - spec/app/models/square.rb
1028
+ - spec/app/models/staff.rb
1029
+ - spec/app/models/store_as_dup_test1.rb
1030
+ - spec/app/models/store_as_dup_test2.rb
1031
+ - spec/app/models/strategy.rb
1032
+ - spec/app/models/sub_item.rb
1033
+ - spec/app/models/subscription.rb
1034
+ - spec/app/models/survey.rb
1035
+ - spec/app/models/symptom.rb
1036
+ - spec/app/models/tag.rb
1037
+ - spec/app/models/target.rb
1038
+ - spec/app/models/template.rb
1039
+ - spec/app/models/thing.rb
1040
+ - spec/app/models/title.rb
1041
+ - spec/app/models/tool.rb
1042
+ - spec/app/models/topping.rb
1043
+ - spec/app/models/track.rb
1044
+ - spec/app/models/translation.rb
1045
+ - spec/app/models/tree.rb
1046
+ - spec/app/models/truck.rb
1047
+ - spec/app/models/user.rb
1048
+ - spec/app/models/user_account.rb
1049
+ - spec/app/models/validation_callback.rb
1050
+ - spec/app/models/vehicle.rb
1051
+ - spec/app/models/version.rb
1052
+ - spec/app/models/vet_visit.rb
1053
+ - spec/app/models/video.rb
1054
+ - spec/app/models/video_game.rb
1055
+ - spec/app/models/weapon.rb
1056
+ - spec/app/models/wiki_page.rb
1057
+ - spec/app/models/word.rb
1058
+ - spec/app/models/word_origin.rb
1059
+ - spec/app/models/writer.rb
1060
+ - spec/config/mongoid.yml
1061
+ - spec/mongoid/atomic/modifiers_spec.rb
1062
+ - spec/mongoid/atomic/paths/embedded/many_spec.rb
1063
+ - spec/mongoid/atomic/paths/embedded/one_spec.rb
1064
+ - spec/mongoid/atomic/paths/root_spec.rb
1065
+ - spec/mongoid/atomic/paths_spec.rb
1066
+ - spec/mongoid/atomic_spec.rb
841
1067
  - spec/mongoid/attributes/nested_spec.rb
842
1068
  - spec/mongoid/attributes/readonly_spec.rb
1069
+ - spec/mongoid/attributes_spec.rb
1070
+ - spec/mongoid/cacheable_spec.rb
1071
+ - spec/mongoid/changeable_spec.rb
1072
+ - spec/mongoid/clients/factory_spec.rb
1073
+ - spec/mongoid/clients/options_spec.rb
1074
+ - spec/mongoid/clients_spec.rb
1075
+ - spec/mongoid/composable_spec.rb
1076
+ - spec/mongoid/config/environment_spec.rb
1077
+ - spec/mongoid/config/options_spec.rb
843
1078
  - spec/mongoid/config_spec.rb
844
- - spec/mongoid/relations/auto_save_spec.rb
845
- - spec/mongoid/relations/targets/enumerable_spec.rb
846
- - spec/mongoid/relations/synchronization_spec.rb
847
- - spec/mongoid/relations/constraint_spec.rb
848
- - spec/mongoid/relations/embedded/in_spec.rb
849
- - spec/mongoid/relations/embedded/many_spec.rb
850
- - spec/mongoid/relations/embedded/one_spec.rb
851
- - spec/mongoid/relations/embedded/dirty_spec.rb
852
- - spec/mongoid/relations/cascading_spec.rb
853
- - spec/mongoid/relations/cyclic_spec.rb
854
- - spec/mongoid/relations/accessors_spec.rb
855
- - spec/mongoid/relations/touchable_spec.rb
856
- - spec/mongoid/relations/proxy_spec.rb
857
- - spec/mongoid/relations/eager/belongs_to_spec.rb
858
- - spec/mongoid/relations/eager/has_many_spec.rb
859
- - spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb
860
- - spec/mongoid/relations/eager/has_one_spec.rb
861
- - spec/mongoid/relations/options_spec.rb
862
- - spec/mongoid/relations/counter_cache_spec.rb
863
- - spec/mongoid/relations/metadata_spec.rb
864
- - spec/mongoid/relations/referenced/many_to_many_spec.rb
865
- - spec/mongoid/relations/referenced/in_spec.rb
866
- - spec/mongoid/relations/referenced/many_spec.rb
867
- - spec/mongoid/relations/referenced/one_spec.rb
868
- - spec/mongoid/relations/eager_spec.rb
869
- - spec/mongoid/relations/macros_spec.rb
870
- - spec/mongoid/relations/bindings/embedded/in_spec.rb
871
- - spec/mongoid/relations/bindings/embedded/many_spec.rb
872
- - spec/mongoid/relations/bindings/embedded/one_spec.rb
873
- - spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb
874
- - spec/mongoid/relations/bindings/referenced/in_spec.rb
875
- - spec/mongoid/relations/bindings/referenced/many_spec.rb
876
- - spec/mongoid/relations/bindings/referenced/one_spec.rb
877
- - spec/mongoid/relations/conversions_spec.rb
878
- - spec/mongoid/relations/reflections_spec.rb
879
- - spec/mongoid/relations/polymorphic_spec.rb
880
- - spec/mongoid/relations/builders_spec.rb
881
- - spec/mongoid/relations/cascading/destroy_spec.rb
882
- - spec/mongoid/relations/cascading/delete_spec.rb
883
- - spec/mongoid/relations/cascading/nullify_spec.rb
884
- - spec/mongoid/relations/cascading/restrict_spec.rb
885
- - spec/mongoid/relations/builders/nested_attributes/many_spec.rb
886
- - spec/mongoid/relations/builders/nested_attributes/one_spec.rb
887
- - spec/mongoid/relations/builders/embedded/in_spec.rb
888
- - spec/mongoid/relations/builders/embedded/many_spec.rb
889
- - spec/mongoid/relations/builders/embedded/one_spec.rb
890
- - spec/mongoid/relations/builders/referenced/many_to_many_spec.rb
891
- - spec/mongoid/relations/builders/referenced/in_spec.rb
892
- - spec/mongoid/relations/builders/referenced/many_spec.rb
893
- - spec/mongoid/relations/builders/referenced/one_spec.rb
894
- - spec/mongoid/matchable/all_spec.rb
895
- - spec/mongoid/matchable/ne_spec.rb
896
- - spec/mongoid/matchable/in_spec.rb
897
- - spec/mongoid/matchable/regexp_spec.rb
898
- - spec/mongoid/matchable/lte_spec.rb
899
- - spec/mongoid/matchable/lt_spec.rb
900
- - spec/mongoid/matchable/size_spec.rb
901
- - spec/mongoid/matchable/default_spec.rb
902
- - spec/mongoid/matchable/exists_spec.rb
903
- - spec/mongoid/matchable/and_spec.rb
904
- - spec/mongoid/matchable/gt_spec.rb
905
- - spec/mongoid/matchable/gte_spec.rb
906
- - spec/mongoid/matchable/nin_spec.rb
907
- - spec/mongoid/matchable/or_spec.rb
908
- - spec/mongoid/attributes_spec.rb
909
- - spec/mongoid/threaded_spec.rb
910
- - spec/mongoid/scopable_spec.rb
911
- - spec/mongoid/query_cache_spec.rb
912
- - spec/mongoid/errors/no_client_config_spec.rb
913
- - spec/mongoid/errors/no_metadata_spec.rb
914
- - spec/mongoid/errors/invalid_time_spec.rb
915
- - spec/mongoid/errors/unsupported_javascript_spec.rb
916
- - spec/mongoid/errors/invalid_field_spec.rb
917
- - spec/mongoid/errors/unsaved_document_spec.rb
918
- - spec/mongoid/errors/readonly_attribute_spec.rb
919
- - spec/mongoid/errors/mixed_client_configuration_spec.rb
920
- - spec/mongoid/errors/validations_spec.rb
921
- - spec/mongoid/errors/invalid_storage_options_spec.rb
1079
+ - spec/mongoid/contextual/aggregable/memory_spec.rb
1080
+ - spec/mongoid/contextual/aggregable/mongo_spec.rb
1081
+ - spec/mongoid/contextual/atomic_spec.rb
1082
+ - spec/mongoid/contextual/geo_near_spec.rb
1083
+ - spec/mongoid/contextual/map_reduce_spec.rb
1084
+ - spec/mongoid/contextual/memory_spec.rb
1085
+ - spec/mongoid/contextual/mongo_spec.rb
1086
+ - spec/mongoid/contextual/none_spec.rb
1087
+ - spec/mongoid/copyable_spec.rb
1088
+ - spec/mongoid/criteria/findable_spec.rb
1089
+ - spec/mongoid/criteria/inspectable_spec.rb
1090
+ - spec/mongoid/criteria/marshalable_spec.rb
1091
+ - spec/mongoid/criteria/modifiable_spec.rb
1092
+ - spec/mongoid/criteria/options_spec.rb
1093
+ - spec/mongoid/criteria/queryable/aggregable_spec.rb
1094
+ - spec/mongoid/criteria/queryable/extensions/array_spec.rb
1095
+ - spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb
1096
+ - spec/mongoid/criteria/queryable/extensions/bignum_spec.rb
1097
+ - spec/mongoid/criteria/queryable/extensions/boolean_spec.rb
1098
+ - spec/mongoid/criteria/queryable/extensions/date_spec.rb
1099
+ - spec/mongoid/criteria/queryable/extensions/date_time_spec.rb
1100
+ - spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb
1101
+ - spec/mongoid/criteria/queryable/extensions/float_spec.rb
1102
+ - spec/mongoid/criteria/queryable/extensions/hash_spec.rb
1103
+ - spec/mongoid/criteria/queryable/extensions/integer_spec.rb
1104
+ - spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
1105
+ - spec/mongoid/criteria/queryable/extensions/object_spec.rb
1106
+ - spec/mongoid/criteria/queryable/extensions/range_spec.rb
1107
+ - spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb
1108
+ - spec/mongoid/criteria/queryable/extensions/regexp_spec.rb
1109
+ - spec/mongoid/criteria/queryable/extensions/set_spec.rb
1110
+ - spec/mongoid/criteria/queryable/extensions/string_spec.rb
1111
+ - spec/mongoid/criteria/queryable/extensions/symbol_spec.rb
1112
+ - spec/mongoid/criteria/queryable/extensions/time_spec.rb
1113
+ - spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb
1114
+ - spec/mongoid/criteria/queryable/forwardable_spec.rb
1115
+ - spec/mongoid/criteria/queryable/key_spec.rb
1116
+ - spec/mongoid/criteria/queryable/mergeable_spec.rb
1117
+ - spec/mongoid/criteria/queryable/optional_spec.rb
1118
+ - spec/mongoid/criteria/queryable/options_spec.rb
1119
+ - spec/mongoid/criteria/queryable/pipeline_spec.rb
1120
+ - spec/mongoid/criteria/queryable/queryable_spec.rb
1121
+ - spec/mongoid/criteria/queryable/selectable_spec.rb
1122
+ - spec/mongoid/criteria/queryable/selector_spec.rb
1123
+ - spec/mongoid/criteria/queryable/smash_spec.rb
1124
+ - spec/mongoid/criteria/scopable_spec.rb
1125
+ - spec/mongoid/criteria_spec.rb
1126
+ - spec/mongoid/document_spec.rb
1127
+ - spec/mongoid/equality_spec.rb
1128
+ - spec/mongoid/errors/ambiguous_relationship_spec.rb
1129
+ - spec/mongoid/errors/callback_spec.rb
1130
+ - spec/mongoid/errors/delete_restriction_spec.rb
1131
+ - spec/mongoid/errors/document_not_destroyed_spec.rb
922
1132
  - spec/mongoid/errors/document_not_found_spec.rb
923
- - spec/mongoid/errors/readonly_document_spec.rb
1133
+ - spec/mongoid/errors/eager_load_spec.rb
1134
+ - spec/mongoid/errors/invalid_collection_spec.rb
1135
+ - spec/mongoid/errors/invalid_config_option_spec.rb
1136
+ - spec/mongoid/errors/invalid_field_option_spec.rb
1137
+ - spec/mongoid/errors/invalid_field_spec.rb
1138
+ - spec/mongoid/errors/invalid_find_spec.rb
1139
+ - spec/mongoid/errors/invalid_includes_spec.rb
1140
+ - spec/mongoid/errors/invalid_index_spec.rb
1141
+ - spec/mongoid/errors/invalid_options_spec.rb
924
1142
  - spec/mongoid/errors/invalid_path_spec.rb
925
- - spec/mongoid/errors/no_clients_config_spec.rb
926
- - spec/mongoid/errors/no_client_hosts_spec.rb
927
- - spec/mongoid/errors/ambiguous_relationship_spec.rb
928
- - spec/mongoid/errors/scope_overwrite_spec.rb
1143
+ - spec/mongoid/errors/invalid_relation_spec.rb
929
1144
  - spec/mongoid/errors/invalid_scope_spec.rb
930
- - spec/mongoid/errors/invalid_options_spec.rb
1145
+ - spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb
1146
+ - spec/mongoid/errors/invalid_storage_options_spec.rb
1147
+ - spec/mongoid/errors/invalid_time_spec.rb
1148
+ - spec/mongoid/errors/inverse_not_found_spec.rb
1149
+ - spec/mongoid/errors/mixed_client_configuration_spec.rb
931
1150
  - spec/mongoid/errors/mixed_relations_spec.rb
932
- - spec/mongoid/errors/eager_load_spec.rb
933
- - spec/mongoid/errors/no_environment_spec.rb
934
1151
  - spec/mongoid/errors/mongoid_error_spec.rb
1152
+ - spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb
1153
+ - spec/mongoid/errors/no_client_config_spec.rb
1154
+ - spec/mongoid/errors/no_client_database_spec.rb
1155
+ - spec/mongoid/errors/no_client_hosts_spec.rb
1156
+ - spec/mongoid/errors/no_clients_config_spec.rb
1157
+ - spec/mongoid/errors/no_environment_spec.rb
935
1158
  - spec/mongoid/errors/no_map_reduce_output_spec.rb
936
- - spec/mongoid/errors/invalid_field_option_spec.rb
937
- - spec/mongoid/errors/invalid_config_option_spec.rb
938
- - spec/mongoid/errors/invalid_includes_spec.rb
939
- - spec/mongoid/errors/delete_restriction_spec.rb
940
- - spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb
941
- - spec/mongoid/errors/document_not_destroyed_spec.rb
942
- - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
943
- - spec/mongoid/errors/invalid_collection_spec.rb
1159
+ - spec/mongoid/errors/no_metadata_spec.rb
944
1160
  - spec/mongoid/errors/no_parent_spec.rb
945
- - spec/mongoid/errors/invalid_index_spec.rb
946
- - spec/mongoid/errors/invalid_find_spec.rb
1161
+ - spec/mongoid/errors/readonly_attribute_spec.rb
1162
+ - spec/mongoid/errors/readonly_document_spec.rb
1163
+ - spec/mongoid/errors/scope_overwrite_spec.rb
1164
+ - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
947
1165
  - spec/mongoid/errors/unknown_attribute_spec.rb
948
- - spec/mongoid/errors/inverse_not_found_spec.rb
949
- - spec/mongoid/errors/no_client_database_spec.rb
950
- - spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb
951
- - spec/mongoid/errors/callback_spec.rb
952
- - spec/mongoid/inspectable_spec.rb
953
- - spec/mongoid/selectable_spec.rb
954
- - spec/mongoid/criteria/scopable_spec.rb
955
- - spec/mongoid/criteria/inspectable_spec.rb
956
- - spec/mongoid/criteria/findable_spec.rb
957
- - spec/mongoid/criteria/modifiable_spec.rb
958
- - spec/mongoid/criteria/marshalable_spec.rb
959
- - spec/mongoid/relations_spec.rb
960
- - spec/mongoid/findable_spec.rb
961
- - spec/mongoid/extensions/date_spec.rb
1166
+ - spec/mongoid/errors/unsaved_document_spec.rb
1167
+ - spec/mongoid/errors/unsupported_javascript_spec.rb
1168
+ - spec/mongoid/errors/validations_spec.rb
1169
+ - spec/mongoid/extensions/array_spec.rb
962
1170
  - spec/mongoid/extensions/big_decimal_spec.rb
963
- - spec/mongoid/extensions/object_spec.rb
1171
+ - spec/mongoid/extensions/binary_spec.rb
1172
+ - spec/mongoid/extensions/boolean_spec.rb
1173
+ - spec/mongoid/extensions/date_spec.rb
964
1174
  - spec/mongoid/extensions/date_time_spec.rb
965
- - spec/mongoid/extensions/time_with_zone_spec.rb
966
- - spec/mongoid/extensions/time_spec.rb
1175
+ - spec/mongoid/extensions/decimal128_spec.rb
1176
+ - spec/mongoid/extensions/false_class_spec.rb
1177
+ - spec/mongoid/extensions/float_spec.rb
967
1178
  - spec/mongoid/extensions/hash_spec.rb
1179
+ - spec/mongoid/extensions/integer_spec.rb
1180
+ - spec/mongoid/extensions/module_spec.rb
1181
+ - spec/mongoid/extensions/nil_class_spec.rb
1182
+ - spec/mongoid/extensions/object_id_spec.rb
1183
+ - spec/mongoid/extensions/object_spec.rb
968
1184
  - spec/mongoid/extensions/range_spec.rb
969
1185
  - spec/mongoid/extensions/regexp_spec.rb
970
- - spec/mongoid/extensions/symbol_spec.rb
1186
+ - spec/mongoid/extensions/set_spec.rb
971
1187
  - spec/mongoid/extensions/string_spec.rb
972
- - spec/mongoid/extensions/boolean_spec.rb
973
- - spec/mongoid/extensions/decimal128_spec.rb
974
- - spec/mongoid/extensions/array_spec.rb
975
- - spec/mongoid/extensions/module_spec.rb
976
- - spec/mongoid/extensions/false_class_spec.rb
1188
+ - spec/mongoid/extensions/symbol_spec.rb
1189
+ - spec/mongoid/extensions/time_spec.rb
1190
+ - spec/mongoid/extensions/time_with_zone_spec.rb
977
1191
  - spec/mongoid/extensions/true_class_spec.rb
978
- - spec/mongoid/extensions/binary_spec.rb
979
- - spec/mongoid/extensions/object_id_spec.rb
980
- - spec/mongoid/extensions/nil_class_spec.rb
981
- - spec/mongoid/extensions/set_spec.rb
982
- - spec/mongoid/extensions/origin/regexp_raw_spec.rb
983
- - spec/mongoid/extensions/integer_spec.rb
984
- - spec/mongoid/extensions/float_spec.rb
985
- - spec/mongoid/composable_spec.rb
986
- - spec/mongoid/atomic_spec.rb
987
- - spec/mongoid/atomic/paths/embedded/many_spec.rb
988
- - spec/mongoid/atomic/paths/embedded/one_spec.rb
989
- - spec/mongoid/atomic/paths/root_spec.rb
990
- - spec/mongoid/atomic/paths_spec.rb
991
- - spec/mongoid/atomic/modifiers_spec.rb
992
- - spec/mongoid/serializable_spec.rb
993
- - spec/mongoid/traversable_spec.rb
994
- - spec/mongoid/railties/document_spec.rb
995
- - spec/mongoid/validatable_spec.rb
996
- - spec/mongoid/reloadable_spec.rb
997
- - spec/mongoid/persistable/settable_spec.rb
998
- - spec/mongoid/persistable/destroyable_spec.rb
999
- - spec/mongoid/persistable/upsertable_spec.rb
1000
- - spec/mongoid/persistable/savable_spec.rb
1001
- - spec/mongoid/persistable/logical_spec.rb
1002
- - spec/mongoid/persistable/pullable_spec.rb
1003
- - spec/mongoid/persistable/poppable_spec.rb
1004
- - spec/mongoid/persistable/incrementable_spec.rb
1005
- - spec/mongoid/persistable/updatable_spec.rb
1006
- - spec/mongoid/persistable/unsettable_spec.rb
1007
- - spec/mongoid/persistable/renamable_spec.rb
1008
- - spec/mongoid/persistable/deletable_spec.rb
1009
- - spec/mongoid/persistable/creatable_spec.rb
1010
- - spec/mongoid/persistable/pushable_spec.rb
1011
- - spec/mongoid/config/environment_spec.rb
1012
- - spec/mongoid/config/options_spec.rb
1192
+ - spec/mongoid/extensions_spec.rb
1013
1193
  - spec/mongoid/factory_spec.rb
1014
- - spec/mongoid/clients/options_spec.rb
1015
- - spec/mongoid/clients/factory_spec.rb
1016
- - spec/mongoid/persistable_spec.rb
1017
- - spec/mongoid/matchable_spec.rb
1018
- - spec/mongoid/timestamps/created_spec.rb
1019
- - spec/mongoid/timestamps/created/short_spec.rb
1020
- - spec/mongoid/timestamps/timeless_spec.rb
1021
- - spec/mongoid/timestamps/updated_spec.rb
1022
- - spec/mongoid/timestamps/updated/short_spec.rb
1023
- - spec/mongoid/validatable/presence_spec.rb
1024
- - spec/mongoid/validatable/format_spec.rb
1025
- - spec/mongoid/validatable/numericality_spec.rb
1026
- - spec/mongoid/validatable/associated_spec.rb
1027
- - spec/mongoid/validatable/uniqueness_spec.rb
1028
- - spec/mongoid/validatable/length_spec.rb
1029
- - spec/mongoid/shardable_spec.rb
1030
- - spec/mongoid/interceptable_spec.rb
1194
+ - spec/mongoid/fields/foreign_key_spec.rb
1195
+ - spec/mongoid/fields/internal/foreign_keys/array_spec.rb
1196
+ - spec/mongoid/fields/internal/foreign_keys/object_spec.rb
1031
1197
  - spec/mongoid/fields/localized_spec.rb
1032
1198
  - spec/mongoid/fields/standard_spec.rb
1033
- - spec/mongoid/fields/internal/foreign_keys/object_spec.rb
1034
- - spec/mongoid/fields/internal/foreign_keys/array_spec.rb
1035
- - spec/mongoid/fields/foreign_key_spec.rb
1036
- - spec/mongoid/equality_spec.rb
1037
- - spec/mongoid/stateful_spec.rb
1038
- - spec/mongoid/timestamps_spec.rb
1039
1199
  - spec/mongoid/fields_spec.rb
1040
- - spec/mongoid/document_spec.rb
1041
- - spec/mongoid/contextual/map_reduce_spec.rb
1042
- - spec/mongoid/contextual/aggregable/memory_spec.rb
1043
- - spec/mongoid/contextual/aggregable/mongo_spec.rb
1044
- - spec/mongoid/contextual/geo_near_spec.rb
1045
- - spec/mongoid/contextual/memory_spec.rb
1046
- - spec/mongoid/contextual/atomic_spec.rb
1047
- - spec/mongoid/contextual/none_spec.rb
1048
- - spec/mongoid/contextual/mongo_spec.rb
1200
+ - spec/mongoid/findable_spec.rb
1049
1201
  - spec/mongoid/indexable/specification_spec.rb
1050
- - spec/mongoid/positional_spec.rb
1202
+ - spec/mongoid/indexable_spec.rb
1203
+ - spec/mongoid/inspectable_spec.rb
1204
+ - spec/mongoid/interceptable_spec.rb
1205
+ - spec/mongoid/loggable_spec.rb
1206
+ - spec/mongoid/matchable/all_spec.rb
1207
+ - spec/mongoid/matchable/and_spec.rb
1208
+ - spec/mongoid/matchable/default_spec.rb
1209
+ - spec/mongoid/matchable/elem_match_spec.rb
1210
+ - spec/mongoid/matchable/exists_spec.rb
1211
+ - spec/mongoid/matchable/gt_spec.rb
1212
+ - spec/mongoid/matchable/gte_spec.rb
1213
+ - spec/mongoid/matchable/in_spec.rb
1214
+ - spec/mongoid/matchable/lt_spec.rb
1215
+ - spec/mongoid/matchable/lte_spec.rb
1216
+ - spec/mongoid/matchable/ne_spec.rb
1217
+ - spec/mongoid/matchable/nin_spec.rb
1218
+ - spec/mongoid/matchable/or_spec.rb
1219
+ - spec/mongoid/matchable/regexp_spec.rb
1220
+ - spec/mongoid/matchable/size_spec.rb
1221
+ - spec/mongoid/matchable_spec.rb
1222
+ - spec/mongoid/persistable/creatable_spec.rb
1223
+ - spec/mongoid/persistable/deletable_spec.rb
1224
+ - spec/mongoid/persistable/destroyable_spec.rb
1225
+ - spec/mongoid/persistable/incrementable_spec.rb
1226
+ - spec/mongoid/persistable/logical_spec.rb
1227
+ - spec/mongoid/persistable/poppable_spec.rb
1228
+ - spec/mongoid/persistable/pullable_spec.rb
1229
+ - spec/mongoid/persistable/pushable_spec.rb
1230
+ - spec/mongoid/persistable/renamable_spec.rb
1231
+ - spec/mongoid/persistable/savable_spec.rb
1232
+ - spec/mongoid/persistable/settable_spec.rb
1233
+ - spec/mongoid/persistable/unsettable_spec.rb
1234
+ - spec/mongoid/persistable/updatable_spec.rb
1235
+ - spec/mongoid/persistable/upsertable_spec.rb
1236
+ - spec/mongoid/persistable_spec.rb
1237
+ - spec/mongoid/persistence_context_spec.rb
1238
+ - spec/mongoid/positional_spec.rb
1239
+ - spec/mongoid/query_cache_spec.rb
1240
+ - spec/mongoid/railties/document_spec.rb
1241
+ - spec/mongoid/relations/accessors_spec.rb
1242
+ - spec/mongoid/relations/auto_save_spec.rb
1243
+ - spec/mongoid/relations/bindings/embedded/in_spec.rb
1244
+ - spec/mongoid/relations/bindings/embedded/many_spec.rb
1245
+ - spec/mongoid/relations/bindings/embedded/one_spec.rb
1246
+ - spec/mongoid/relations/bindings/referenced/in_spec.rb
1247
+ - spec/mongoid/relations/bindings/referenced/many_spec.rb
1248
+ - spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb
1249
+ - spec/mongoid/relations/bindings/referenced/one_spec.rb
1250
+ - spec/mongoid/relations/builders/embedded/in_spec.rb
1251
+ - spec/mongoid/relations/builders/embedded/many_spec.rb
1252
+ - spec/mongoid/relations/builders/embedded/one_spec.rb
1253
+ - spec/mongoid/relations/builders/nested_attributes/many_spec.rb
1254
+ - spec/mongoid/relations/builders/nested_attributes/one_spec.rb
1255
+ - spec/mongoid/relations/builders/referenced/in_spec.rb
1256
+ - spec/mongoid/relations/builders/referenced/many_spec.rb
1257
+ - spec/mongoid/relations/builders/referenced/many_to_many_spec.rb
1258
+ - spec/mongoid/relations/builders/referenced/one_spec.rb
1259
+ - spec/mongoid/relations/builders_spec.rb
1260
+ - spec/mongoid/relations/cascading/delete_spec.rb
1261
+ - spec/mongoid/relations/cascading/destroy_spec.rb
1262
+ - spec/mongoid/relations/cascading/nullify_spec.rb
1263
+ - spec/mongoid/relations/cascading/restrict_spec.rb
1264
+ - spec/mongoid/relations/cascading_spec.rb
1265
+ - spec/mongoid/relations/constraint_spec.rb
1266
+ - spec/mongoid/relations/conversions_spec.rb
1267
+ - spec/mongoid/relations/counter_cache_spec.rb
1268
+ - spec/mongoid/relations/cyclic_spec.rb
1269
+ - spec/mongoid/relations/eager/belongs_to_spec.rb
1270
+ - spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb
1271
+ - spec/mongoid/relations/eager/has_many_spec.rb
1272
+ - spec/mongoid/relations/eager/has_one_spec.rb
1273
+ - spec/mongoid/relations/eager_spec.rb
1274
+ - spec/mongoid/relations/embedded/dirty_spec.rb
1275
+ - spec/mongoid/relations/embedded/in_spec.rb
1276
+ - spec/mongoid/relations/embedded/many_spec.rb
1277
+ - spec/mongoid/relations/embedded/one_spec.rb
1278
+ - spec/mongoid/relations/macros_spec.rb
1279
+ - spec/mongoid/relations/metadata_spec.rb
1280
+ - spec/mongoid/relations/options_spec.rb
1281
+ - spec/mongoid/relations/polymorphic_spec.rb
1282
+ - spec/mongoid/relations/proxy_spec.rb
1283
+ - spec/mongoid/relations/referenced/in_spec.rb
1284
+ - spec/mongoid/relations/referenced/many_spec.rb
1285
+ - spec/mongoid/relations/referenced/many_to_many_spec.rb
1286
+ - spec/mongoid/relations/referenced/one_spec.rb
1287
+ - spec/mongoid/relations/reflections_spec.rb
1288
+ - spec/mongoid/relations/synchronization_spec.rb
1289
+ - spec/mongoid/relations/targets/enumerable_spec.rb
1290
+ - spec/mongoid/relations/touchable_spec.rb
1291
+ - spec/mongoid/relations_spec.rb
1292
+ - spec/mongoid/reloadable_spec.rb
1293
+ - spec/mongoid/scopable_spec.rb
1294
+ - spec/mongoid/selectable_spec.rb
1295
+ - spec/mongoid/serializable_spec.rb
1296
+ - spec/mongoid/shardable_spec.rb
1297
+ - spec/mongoid/stateful_spec.rb
1051
1298
  - spec/mongoid/tasks/database_rake_spec.rb
1052
1299
  - spec/mongoid/tasks/database_spec.rb
1053
- - spec/config/mongoid.yml
1054
- - spec/spec_helper.rb
1055
- - spec/app/models/browser.rb
1056
- - spec/app/models/exhibitor.rb
1057
- - spec/app/models/simple.rb
1058
- - spec/app/models/shipment_address.rb
1059
- - spec/app/models/odd.rb
1060
- - spec/app/models/palette.rb
1061
- - spec/app/models/circle.rb
1062
- - spec/app/models/membership.rb
1063
- - spec/app/models/driver.rb
1064
- - spec/app/models/root_category.rb
1065
- - spec/app/models/company.rb
1066
- - spec/app/models/validation_callback.rb
1067
- - spec/app/models/event.rb
1068
- - spec/app/models/user.rb
1069
- - spec/app/models/symptom.rb
1070
- - spec/app/models/label.rb
1071
- - spec/app/models/cat.rb
1072
- - spec/app/models/email.rb
1073
- - spec/app/models/alert.rb
1074
- - spec/app/models/tree.rb
1075
- - spec/app/models/princess.rb
1076
- - spec/app/models/big_palette.rb
1077
- - spec/app/models/augmentation.rb
1078
- - spec/app/models/dungeon.rb
1079
- - spec/app/models/author.rb
1080
- - spec/app/models/appointment.rb
1081
- - spec/app/models/game.rb
1082
- - spec/app/models/ghost.rb
1083
- - spec/app/models/line_item.rb
1084
- - spec/app/models/question.rb
1085
- - spec/app/models/church.rb
1086
- - spec/app/models/short_quiz.rb
1087
- - spec/app/models/division.rb
1088
- - spec/app/models/sub_item.rb
1089
- - spec/app/models/subscription.rb
1090
- - spec/app/models/word.rb
1091
- - spec/app/models/kangaroo.rb
1092
- - spec/app/models/parent.rb
1093
- - spec/app/models/profile.rb
1094
- - spec/app/models/basic.rb
1095
- - spec/app/models/registry.rb
1096
- - spec/app/models/node.rb
1097
- - spec/app/models/id_key.rb
1098
- - spec/app/models/child_doc.rb
1099
- - spec/app/models/ownable.rb
1100
- - spec/app/models/pet.rb
1101
- - spec/app/models/preference.rb
1102
- - spec/app/models/artist.rb
1103
- - spec/app/models/my_hash.rb
1104
- - spec/app/models/post.rb
1105
- - spec/app/models/track.rb
1106
- - spec/app/models/tool.rb
1107
- - spec/app/models/movie.rb
1108
- - spec/app/models/truck.rb
1109
- - spec/app/models/child.rb
1110
- - spec/app/models/exhibition.rb
1111
- - spec/app/models/building.rb
1112
- - spec/app/models/pronunciation.rb
1113
- - spec/app/models/oscar.rb
1114
- - spec/app/models/player.rb
1115
- - spec/app/models/draft.rb
1116
- - spec/app/models/store_as_dup_test1.rb
1117
- - spec/app/models/fruits.rb
1118
- - spec/app/models/circuit.rb
1119
- - spec/app/models/owner.rb
1120
- - spec/app/models/bar.rb
1121
- - spec/app/models/answer.rb
1122
- - spec/app/models/mixed_drink.rb
1123
- - spec/app/models/filesystem.rb
1124
- - spec/app/models/entry.rb
1125
- - spec/app/models/service.rb
1126
- - spec/app/models/video_game.rb
1127
- - spec/app/models/category.rb
1128
- - spec/app/models/doctor.rb
1129
- - spec/app/models/shipping_pack.rb
1130
- - spec/app/models/language.rb
1131
- - spec/app/models/shop.rb
1132
- - spec/app/models/slave.rb
1133
- - spec/app/models/location.rb
1134
- - spec/app/models/firefox.rb
1135
- - spec/app/models/actor.rb
1136
- - spec/app/models/folder_item.rb
1137
- - spec/app/models/explosion.rb
1138
- - spec/app/models/page.rb
1139
- - spec/app/models/callback_test.rb
1140
- - spec/app/models/staff.rb
1141
- - spec/app/models/folder.rb
1142
- - spec/app/models/title.rb
1143
- - spec/app/models/lat_lng.rb
1144
- - spec/app/models/business.rb
1145
- - spec/app/models/artwork.rb
1146
- - spec/app/models/song.rb
1147
- - spec/app/models/record.rb
1148
- - spec/app/models/server.rb
1149
- - spec/app/models/drug.rb
1150
- - spec/app/models/quiz.rb
1151
- - spec/app/models/edit.rb
1152
- - spec/app/models/baby.rb
1153
- - spec/app/models/template.rb
1154
- - spec/app/models/band.rb
1155
- - spec/app/models/ordered_preference.rb
1156
- - spec/app/models/dog.rb
1157
- - spec/app/models/target.rb
1158
- - spec/app/models/fire_hydrant.rb
1159
- - spec/app/models/pub.rb
1160
- - spec/app/models/description.rb
1161
- - spec/app/models/eye_bowl.rb
1162
- - spec/app/models/bed.rb
1163
- - spec/app/models/shelf.rb
1164
- - spec/app/models/image.rb
1165
- - spec/app/models/shape.rb
1166
- - spec/app/models/dokument.rb
1167
- - spec/app/models/translation.rb
1168
- - spec/app/models/writer.rb
1169
- - spec/app/models/meat.rb
1170
- - spec/app/models/weapon.rb
1171
- - spec/app/models/sound.rb
1172
- - spec/app/models/rating.rb
1173
- - spec/app/models/consumption_period.rb
1174
- - spec/app/models/store_as_dup_test2.rb
1175
- - spec/app/models/tag.rb
1176
- - spec/app/models/manufacturer.rb
1177
- - spec/app/models/courier_job.rb
1178
- - spec/app/models/canvas.rb
1179
- - spec/app/models/strategy.rb
1180
- - spec/app/models/series.rb
1181
- - spec/app/models/building_address.rb
1182
- - spec/app/models/code.rb
1183
- - spec/app/models/thing.rb
1184
- - spec/app/models/dragon.rb
1185
- - spec/app/models/learner.rb
1186
- - spec/app/models/contextable_item.rb
1187
- - spec/app/models/circus.rb
1188
- - spec/app/models/role.rb
1189
- - spec/app/models/topping.rb
1190
- - spec/app/models/html_writer.rb
1191
- - spec/app/models/ordered_post.rb
1192
- - spec/app/models/parent_doc.rb
1193
- - spec/app/models/acolyte.rb
1194
- - spec/app/models/product.rb
1195
- - spec/app/models/contractor.rb
1196
- - spec/app/models/purchase.rb
1197
- - spec/app/models/actress.rb
1198
- - spec/app/models/address.rb
1199
- - spec/app/models/pizza.rb
1200
- - spec/app/models/bomb.rb
1201
- - spec/app/models/house.rb
1202
- - spec/app/models/version.rb
1203
- - spec/app/models/definition.rb
1204
- - spec/app/models/sandwich.rb
1205
- - spec/app/models/user_account.rb
1206
- - spec/app/models/breed.rb
1207
- - spec/app/models/pdf_writer.rb
1208
- - spec/app/models/car.rb
1209
- - spec/app/models/implant.rb
1210
- - spec/app/models/pet_owner.rb
1211
- - spec/app/models/animal.rb
1212
- - spec/app/models/birthday.rb
1213
- - spec/app/models/agency.rb
1214
- - spec/app/models/scheduler.rb
1215
- - spec/app/models/face.rb
1216
- - spec/app/models/vet_visit.rb
1217
- - spec/app/models/dictionary.rb
1218
- - spec/app/models/seo.rb
1219
- - spec/app/models/word_origin.rb
1220
- - spec/app/models/book.rb
1221
- - spec/app/models/favorite.rb
1222
- - spec/app/models/name.rb
1223
- - spec/app/models/fish.rb
1224
- - spec/app/models/shipping_container.rb
1225
- - spec/app/models/vehicle.rb
1226
- - spec/app/models/override.rb
1227
- - spec/app/models/powerup.rb
1228
- - spec/app/models/cookie.rb
1229
- - spec/app/models/bus.rb
1230
- - spec/app/models/agent.rb
1231
- - spec/app/models/note.rb
1232
- - spec/app/models/eye.rb
1233
- - spec/app/models/passport.rb
1234
- - spec/app/models/video.rb
1235
- - spec/app/models/account.rb
1236
- - spec/app/models/pencil.rb
1237
- - spec/app/models/short_agent.rb
1238
- - spec/app/models/employer.rb
1239
- - spec/app/models/person.rb
1240
- - spec/app/models/jar.rb
1241
- - spec/app/models/login.rb
1242
- - spec/app/models/audio.rb
1243
- - spec/app/models/kaleidoscope.rb
1244
- - spec/app/models/pack.rb
1245
- - spec/app/models/page_question.rb
1246
- - spec/app/models/patient.rb
1247
- - spec/app/models/post_genre.rb
1248
- - spec/app/models/message.rb
1249
- - spec/app/models/address_number.rb
1250
- - spec/app/models/album.rb
1251
- - spec/app/models/survey.rb
1252
- - spec/app/models/item.rb
1253
- - spec/app/models/eraser.rb
1254
- - spec/app/models/home.rb
1255
- - spec/app/models/address_component.rb
1256
- - spec/app/models/wiki_page.rb
1257
- - spec/app/models/square.rb
1258
- - spec/app/models/article.rb
1259
- - spec/app/models/comment.rb
1260
- - spec/app/models/even.rb
1261
- - spec/app/models/phone.rb
1262
- - spec/app/models/country_code.rb
1263
- - spec/app/models/league.rb
1300
+ - spec/mongoid/threaded_spec.rb
1301
+ - spec/mongoid/timestamps/created/short_spec.rb
1302
+ - spec/mongoid/timestamps/created_spec.rb
1303
+ - spec/mongoid/timestamps/timeless_spec.rb
1304
+ - spec/mongoid/timestamps/updated/short_spec.rb
1305
+ - spec/mongoid/timestamps/updated_spec.rb
1306
+ - spec/mongoid/timestamps_spec.rb
1307
+ - spec/mongoid/traversable_spec.rb
1308
+ - spec/mongoid/validatable/associated_spec.rb
1309
+ - spec/mongoid/validatable/format_spec.rb
1310
+ - spec/mongoid/validatable/length_spec.rb
1311
+ - spec/mongoid/validatable/numericality_spec.rb
1312
+ - spec/mongoid/validatable/presence_spec.rb
1313
+ - spec/mongoid/validatable/uniqueness_spec.rb
1314
+ - spec/mongoid/validatable_spec.rb
1315
+ - spec/mongoid_spec.rb
1264
1316
  - spec/rails/mongoid_spec.rb
1317
+ - spec/spec_helper.rb
1318
+ - spec/support/authorization.rb
1319
+ - spec/support/expectations.rb