mongoid 5.4.1 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe Mongoid::Matchable::In do
4
4
 
5
- describe "#matches?" do
5
+ describe "#_matches\?" do
6
6
 
7
7
  context 'when the attribute is not nil' do
8
8
 
@@ -13,14 +13,14 @@ describe Mongoid::Matchable::In do
13
13
  context "when the values include the attribute" do
14
14
 
15
15
  it "returns true" do
16
- expect(matcher.matches?("$in" => [/\Afir.*\z/, "second"])).to be true
16
+ expect(matcher._matches?("$in" => [/\Afir.*\z/, "second"])).to be true
17
17
  end
18
18
  end
19
19
 
20
20
  context "when the values don't include the attribute" do
21
21
 
22
22
  it "returns false" do
23
- expect(matcher.matches?("$in" => ["third"])).to be false
23
+ expect(matcher._matches?("$in" => ["third"])).to be false
24
24
  end
25
25
  end
26
26
  end
@@ -34,14 +34,14 @@ describe Mongoid::Matchable::In do
34
34
  context "when the values include the attribute" do
35
35
 
36
36
  it "returns true" do
37
- expect(matcher.matches?("$in" => [/\Afir.*\z/, nil])).to be true
37
+ expect(matcher._matches?("$in" => [/\Afir.*\z/, nil])).to be true
38
38
  end
39
39
  end
40
40
 
41
41
  context "when the values don't include the attribute" do
42
42
 
43
43
  it "returns false" do
44
- expect(matcher.matches?("$in" => ["third"])).to be false
44
+ expect(matcher._matches?("$in" => ["third"])).to be false
45
45
  end
46
46
  end
47
47
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe Mongoid::Matchable::Lt do
4
4
 
5
- describe "#matches?" do
5
+ describe "#_matches\?" do
6
6
 
7
7
  context "when the value is larger" do
8
8
 
@@ -11,7 +11,7 @@ describe Mongoid::Matchable::Lt do
11
11
  end
12
12
 
13
13
  it "returns false" do
14
- expect(matcher.matches?("$lt" => 3)).to be false
14
+ expect(matcher._matches?("$lt" => 3)).to be false
15
15
  end
16
16
  end
17
17
 
@@ -22,7 +22,7 @@ describe Mongoid::Matchable::Lt do
22
22
  end
23
23
 
24
24
  it "returns false" do
25
- expect(matcher.matches?("$lt" => 3)).to be false
25
+ expect(matcher._matches?("$lt" => 3)).to be false
26
26
  end
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ describe Mongoid::Matchable::Lt do
33
33
  end
34
34
 
35
35
  it "returns true" do
36
- expect(matcher.matches?("$lt" => 10)).to be true
36
+ expect(matcher._matches?("$lt" => 10)).to be true
37
37
  end
38
38
  end
39
39
 
@@ -44,7 +44,7 @@ describe Mongoid::Matchable::Lt do
44
44
  end
45
45
 
46
46
  it "returns false" do
47
- expect(matcher.matches?("$lt" => 5)).to be false
47
+ expect(matcher._matches?("$lt" => 5)).to be false
48
48
  end
49
49
  end
50
50
 
@@ -55,7 +55,7 @@ describe Mongoid::Matchable::Lt do
55
55
  end
56
56
 
57
57
  it "returns true" do
58
- expect(matcher.matches?("$lt" => 5)).to be true
58
+ expect(matcher._matches?("$lt" => 5)).to be true
59
59
  end
60
60
  end
61
61
 
@@ -65,10 +65,21 @@ describe Mongoid::Matchable::Lt do
65
65
  end
66
66
 
67
67
  it "returns false" do
68
- expect(matcher.matches?("$lt" => 5)).to be false
68
+ expect(matcher._matches?("$lt" => 5)).to be false
69
69
  end
70
70
 
71
71
  end
72
72
  end
73
+
74
+ context "when the value is not numeric" do
75
+
76
+ let(:matcher) do
77
+ described_class.new(5)
78
+ end
79
+
80
+ it "returns false" do
81
+ expect(matcher._matches?("$lt" => '5.1')).to be false
82
+ end
83
+ end
73
84
  end
74
85
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe Mongoid::Matchable::Lte do
4
4
 
5
- describe "#matches?" do
5
+ describe "#_matches\?" do
6
6
 
7
7
  context "when the value is larger" do
8
8
 
@@ -11,7 +11,7 @@ describe Mongoid::Matchable::Lte do
11
11
  end
12
12
 
13
13
  it "returns false" do
14
- expect(matcher.matches?("$lte" => 3)).to be false
14
+ expect(matcher._matches?("$lte" => 3)).to be false
15
15
  end
16
16
  end
17
17
 
@@ -22,7 +22,7 @@ describe Mongoid::Matchable::Lte do
22
22
  end
23
23
 
24
24
  it "returns true" do
25
- expect(matcher.matches?("$lte" => 10)).to be true
25
+ expect(matcher._matches?("$lte" => 10)).to be true
26
26
  end
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ describe Mongoid::Matchable::Lte do
33
33
  end
34
34
 
35
35
  it "returns true" do
36
- expect(matcher.matches?("$lte" => 5)).to be true
36
+ expect(matcher._matches?("$lte" => 5)).to be true
37
37
  end
38
38
  end
39
39
 
@@ -44,18 +44,19 @@ describe Mongoid::Matchable::Lte do
44
44
  end
45
45
 
46
46
  it "returns false" do
47
- expect(matcher.matches?("$lte" => 5)).to be false
47
+ expect(matcher._matches?("$lte" => 5)).to be false
48
48
  end
49
49
  end
50
50
 
51
51
  context "when the value is an array" do
52
+
52
53
  context "there are value valid" do
53
54
  let(:matcher) do
54
55
  described_class.new([3, 4])
55
56
  end
56
57
 
57
58
  it "returns true" do
58
- expect(matcher.matches?("$lte" => 5)).to be true
59
+ expect(matcher._matches?("$lte" => 5)).to be true
59
60
  end
60
61
  end
61
62
 
@@ -65,9 +66,19 @@ describe Mongoid::Matchable::Lte do
65
66
  end
66
67
 
67
68
  it "returns false" do
68
- expect(matcher.matches?("$lte" => 5)).to be false
69
+ expect(matcher._matches?("$lte" => 5)).to be false
69
70
  end
71
+ end
72
+ end
70
73
 
74
+ context "when the value is not numeric" do
75
+
76
+ let(:matcher) do
77
+ described_class.new(5)
78
+ end
79
+
80
+ it "returns false" do
81
+ expect(matcher._matches?("$lte" => '5.1')).to be false
71
82
  end
72
83
  end
73
84
  end
@@ -6,19 +6,19 @@ describe Mongoid::Matchable::Ne do
6
6
  described_class.new("first")
7
7
  end
8
8
 
9
- describe "#matches?" do
9
+ describe "#_matches?" do
10
10
 
11
11
  context "when the values are not equal" do
12
12
 
13
13
  it "returns true" do
14
- expect(matcher.matches?("$ne" => "second")).to be true
14
+ expect(matcher._matches?("$ne" => "second")).to be true
15
15
  end
16
16
  end
17
17
 
18
18
  context "when the values are equal" do
19
19
 
20
20
  it "returns false" do
21
- expect(matcher.matches?("$ne" => "first")).to be false
21
+ expect(matcher._matches?("$ne" => "first")).to be false
22
22
  end
23
23
  end
24
24
 
@@ -31,14 +31,14 @@ describe Mongoid::Matchable::Ne do
31
31
  context "when the value is in the array" do
32
32
 
33
33
  it "returns false" do
34
- expect(array_matcher.matches?("$ne" => "first")).to be false
34
+ expect(array_matcher._matches?("$ne" => "first")).to be false
35
35
  end
36
36
  end
37
37
 
38
38
  context "when the value is not in the array" do
39
39
 
40
40
  it "returns true" do
41
- expect(array_matcher.matches?("$ne" => "second")).to be true
41
+ expect(array_matcher._matches?("$ne" => "second")).to be true
42
42
  end
43
43
  end
44
44
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe Mongoid::Matchable::Nin do
4
4
 
5
- describe "#matches?" do
5
+ describe "#_matches?" do
6
6
 
7
7
  context 'when the attribute is not nil' do
8
8
 
@@ -13,14 +13,14 @@ describe Mongoid::Matchable::Nin do
13
13
  context "when the values do not contain the attribute" do
14
14
 
15
15
  it "returns true" do
16
- expect(matcher.matches?("$nin" => ["second", "third"])).to be true
16
+ expect(matcher._matches?("$nin" => ["second", "third"])).to be true
17
17
  end
18
18
  end
19
19
 
20
20
  context "when the values contain the attribute" do
21
21
 
22
22
  it "returns false" do
23
- expect(matcher.matches?("$nin" => ["first"])).to be false
23
+ expect(matcher._matches?("$nin" => ["first"])).to be false
24
24
  end
25
25
  end
26
26
  end
@@ -33,14 +33,14 @@ describe Mongoid::Matchable::Nin do
33
33
  context "when the values do not contain the attribute" do
34
34
 
35
35
  it "returns true" do
36
- expect(matcher.matches?("$nin" => ["third"])).to be true
36
+ expect(matcher._matches?("$nin" => ["third"])).to be true
37
37
  end
38
38
  end
39
39
 
40
40
  context "when the values contain the attribute" do
41
41
 
42
42
  it "returns false" do
43
- expect(matcher.matches?("$nin" => [/\Afir.*\z/, nil])).to be false
43
+ expect(matcher._matches?("$nin" => [/\Afir.*\z/, nil])).to be false
44
44
  end
45
45
  end
46
46
  end
@@ -10,14 +10,14 @@ describe Mongoid::Matchable::Or do
10
10
  described_class.new("value", person)
11
11
  end
12
12
 
13
- describe "#matches?" do
13
+ describe "#_matches?" do
14
14
 
15
15
  context "when provided a simple expression" do
16
16
 
17
17
  context "when any of the values are equal" do
18
18
 
19
19
  let(:matches) do
20
- matcher.matches?(
20
+ matcher._matches?(
21
21
  [ { title: "Sir" }, { title: "King" } ]
22
22
  )
23
23
  end
@@ -34,14 +34,14 @@ describe Mongoid::Matchable::Or do
34
34
  context "when none of the values are equal" do
35
35
 
36
36
  it "returns false" do
37
- expect(matcher.matches?([])).to be false
37
+ expect(matcher._matches?([])).to be false
38
38
  end
39
39
  end
40
40
 
41
41
  context "when the expression is a $not" do
42
42
 
43
43
  let(:matches) do
44
- matcher.matches?([ { title: {:$not => /Foobar/ } }])
44
+ matcher._matches?([ { title: {:$not => /Foobar/ } }])
45
45
  end
46
46
 
47
47
  context "when the value matches" do
@@ -69,7 +69,7 @@ describe Mongoid::Matchable::Or do
69
69
  context "when any of the values are equal" do
70
70
 
71
71
  let(:matches) do
72
- matcher.matches?(
72
+ matcher._matches?(
73
73
  [
74
74
  { title: { "$in" => [ "Sir", "Madam" ] } },
75
75
  { title: "King" }
@@ -89,7 +89,7 @@ describe Mongoid::Matchable::Or do
89
89
  context "when none of the values are equal" do
90
90
 
91
91
  let(:matches) do
92
- matcher.matches?(
92
+ matcher._matches?(
93
93
  [
94
94
  { title: { "$in" => [ "Prince", "Madam" ] } },
95
95
  { title: "King" }
@@ -109,7 +109,7 @@ describe Mongoid::Matchable::Or do
109
109
  context "when expression contain multiple fields" do
110
110
 
111
111
  let(:matches) do
112
- matcher.matches?(
112
+ matcher._matches?(
113
113
  [
114
114
  { title: "Sir", age: 23 },
115
115
  { title: "King", age: 100 }
@@ -10,7 +10,7 @@ describe Mongoid::Matchable::Regexp do
10
10
  'Emily'
11
11
  end
12
12
 
13
- describe '#matches?' do
13
+ describe '#_matches?' do
14
14
 
15
15
  context 'when a BSON::Regexp::Raw object is passed' do
16
16
 
@@ -19,7 +19,7 @@ describe Mongoid::Matchable::Regexp do
19
19
  end
20
20
 
21
21
  it 'compiles the regexp object to a native regexp for the matching' do
22
- expect(matcher.matches?(regexp)).to be(true)
22
+ expect(matcher._matches?(regexp)).to be(true)
23
23
  end
24
24
 
25
25
  context 'when the value does not match the attribute' do
@@ -29,7 +29,7 @@ describe Mongoid::Matchable::Regexp do
29
29
  end
30
30
 
31
31
  it 'compiles the regexp object to a native regexp for the matching' do
32
- expect(matcher.matches?(regexp)).to be(false)
32
+ expect(matcher._matches?(regexp)).to be(false)
33
33
  end
34
34
  end
35
35
  end
@@ -41,7 +41,7 @@ describe Mongoid::Matchable::Regexp do
41
41
  end
42
42
 
43
43
  it 'calls super with the native regexp' do
44
- expect(matcher.matches?(regexp)).to be(true)
44
+ expect(matcher._matches?(regexp)).to be(true)
45
45
  end
46
46
 
47
47
  context 'when the value does not match the attribute' do
@@ -51,7 +51,7 @@ describe Mongoid::Matchable::Regexp do
51
51
  end
52
52
 
53
53
  it 'compiles the regexp object to a native regexp for the matching' do
54
- expect(matcher.matches?(regexp)).to be(false)
54
+ expect(matcher._matches?(regexp)).to be(false)
55
55
  end
56
56
  end
57
57
  end
@@ -6,19 +6,19 @@ describe Mongoid::Matchable::Size do
6
6
  described_class.new(["first", "second"])
7
7
  end
8
8
 
9
- describe "#matches?" do
9
+ describe "#_matches?" do
10
10
 
11
11
  context "when the attribute is the same size" do
12
12
 
13
13
  it "returns true" do
14
- expect(matcher.matches?("$size" => 2)).to be true
14
+ expect(matcher._matches?("$size" => 2)).to be true
15
15
  end
16
16
  end
17
17
 
18
18
  context "when the attribute is not the same size" do
19
19
 
20
20
  it "returns false" do
21
- expect(matcher.matches?("$size" => 5)).to be false
21
+ expect(matcher._matches?("$size" => 5)).to be false
22
22
  end
23
23
  end
24
24
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe Mongoid::Matchable do
4
4
 
5
- describe "#matches?" do
5
+ describe "#_matches?" do
6
6
 
7
7
  context "when document is embeded" do
8
8
 
@@ -26,7 +26,7 @@ describe Mongoid::Matchable do
26
26
  end
27
27
 
28
28
  it "returns false" do
29
- expect(document.locations.first.matches?(selector)).to be false
29
+ expect(document.locations.first._matches?(selector)).to be false
30
30
  end
31
31
 
32
32
  context "when just change the selector order" do
@@ -36,7 +36,7 @@ describe Mongoid::Matchable do
36
36
  end
37
37
 
38
38
  it "returns false " do
39
- expect(document.locations.first.matches?(selector)).to be false
39
+ expect(document.locations.first._matches?(selector)).to be false
40
40
  end
41
41
  end
42
42
  end
@@ -50,7 +50,7 @@ describe Mongoid::Matchable do
50
50
  end
51
51
 
52
52
  it "returns true" do
53
- expect(document.locations.first.matches?(selector)).to be true
53
+ expect(document.locations.first._matches?(selector)).to be true
54
54
  end
55
55
  end
56
56
 
@@ -61,7 +61,7 @@ describe Mongoid::Matchable do
61
61
  end
62
62
 
63
63
  it "returns false" do
64
- expect(document.locations.first.matches?(selector)).to be false
64
+ expect(document.locations.first._matches?(selector)).to be false
65
65
  end
66
66
  end
67
67
 
@@ -72,7 +72,7 @@ describe Mongoid::Matchable do
72
72
  end
73
73
 
74
74
  it "returns false" do
75
- expect(document.locations.first.matches?(selector)).to be false
75
+ expect(document.locations.first._matches?(selector)).to be false
76
76
  end
77
77
  end
78
78
  end
@@ -88,7 +88,7 @@ describe Mongoid::Matchable do
88
88
  end
89
89
 
90
90
  it "returns true" do
91
- expect(document.locations.first.matches?(selector)).to be true
91
+ expect(document.locations.first._matches?(selector)).to be true
92
92
  end
93
93
  end
94
94
 
@@ -99,7 +99,7 @@ describe Mongoid::Matchable do
99
99
  end
100
100
 
101
101
  it "returns false" do
102
- expect(document.locations.first.matches?(selector)).to be false
102
+ expect(document.locations.first._matches?(selector)).to be false
103
103
  end
104
104
  end
105
105
  end
@@ -113,7 +113,7 @@ describe Mongoid::Matchable do
113
113
  end
114
114
 
115
115
  it "returns true" do
116
- expect(document.locations.first.matches?(selector)).to be true
116
+ expect(document.locations.first._matches?(selector)).to be true
117
117
  end
118
118
  end
119
119
 
@@ -124,7 +124,7 @@ describe Mongoid::Matchable do
124
124
  end
125
125
 
126
126
  it "returns false" do
127
- expect(document.locations.first.matches?(selector)).to be false
127
+ expect(document.locations.first._matches?(selector)).to be false
128
128
  end
129
129
  end
130
130
 
@@ -135,11 +135,131 @@ describe Mongoid::Matchable do
135
135
  end
136
136
 
137
137
  it "returns false" do
138
- expect(document.locations.first.matches?(selector)).to be false
138
+ expect(document.locations.first._matches?(selector)).to be false
139
139
  end
140
140
  end
141
141
  end
142
142
 
143
+ context "when using $elemMatch" do
144
+
145
+ context "one predicate" do
146
+
147
+ let(:selector) do
148
+ {
149
+ "occupants" => {"$elemMatch" => {"name" => "Tim"}}
150
+ }
151
+ end
152
+
153
+ context "and there is a matching sub document" do
154
+
155
+ it "returns true" do
156
+ expect(document.locations.first._matches?(selector)).to be true
157
+ end
158
+
159
+ context "using $in" do
160
+ let(:selector) do
161
+ {
162
+ "occupants" => {"$elemMatch" => {"name" => {"$in" => ["Tim", "Alice"]}}}
163
+ }
164
+ end
165
+
166
+ it "returns true" do
167
+ expect(document.locations.first._matches?(selector)).to be true
168
+ end
169
+ end
170
+ end
171
+
172
+ context "and there is not a matching sub document" do
173
+
174
+ let(:selector) do
175
+ {
176
+ "occupants" => {"$elemMatch" => {"name" => "Lyle"}}
177
+ }
178
+ end
179
+
180
+ it "returns false" do
181
+ expect(document.locations.first._matches?(selector)).to be false
182
+ end
183
+
184
+ context "using $in" do
185
+ let(:selector) do
186
+ {
187
+ "occupants" => {"$elemMatch" => {"name" => {"$in" => ["Lyfe", "Alice"]}}}
188
+ }
189
+ end
190
+
191
+ it "returns false" do
192
+ expect(document.locations.first._matches?(selector)).to be false
193
+ end
194
+ end
195
+ end
196
+ end
197
+
198
+ context "multiple predicates" do
199
+
200
+ before do
201
+ document.locations = [
202
+ Location.new(
203
+ name: 'No.1',
204
+ info: { 'door' => 'Red'},
205
+ occupants: [{'name' => 'Tim', 'eye_color' => 'brown'}, {'name' => 'Alice', 'eye_color' => 'blue'}]
206
+ )
207
+ ]
208
+ end
209
+
210
+ let(:selector) do
211
+ {
212
+ "occupants" => {"$elemMatch" => {"name" => "Tim", "eye_color" => "brown"}}
213
+ }
214
+ end
215
+
216
+ context "and there is a matching sub document" do
217
+
218
+ it "returns true" do
219
+ expect(document.locations.first._matches?(selector)).to be true
220
+ end
221
+
222
+ context "using $in and $ne in the $elemMatch to include the element" do
223
+
224
+ let(:selector) do
225
+ {
226
+ "occupants" => {"$elemMatch" => {"name" => {"$in" => ["Tim"]}, "eye_color" => {"$ne" => "blue"}}}
227
+ }
228
+ end
229
+
230
+ it "returns true" do
231
+ expect(document.locations.first._matches?(selector)).to be true
232
+ end
233
+ end
234
+ end
235
+
236
+ context "and there is not a matching sub document" do
237
+
238
+ let(:selector) do
239
+ {
240
+ "occupants" => {"$elemMatch" => {"name" => "Tim", "eye_color" => "blue"}}
241
+ }
242
+ end
243
+
244
+ it "returns false" do
245
+ expect(document.locations.first._matches?(selector)).to be false
246
+ end
247
+
248
+ context "using $ne in the $elemMatch to exclude the element" do
249
+
250
+ let(:selector) do
251
+ {
252
+ "occupants" => {"$elemMatch" => {"name" => {"$in" => ["Tim"]}, "eye_color" => {"$ne" => "brown"}}}
253
+ }
254
+ end
255
+
256
+ it "returns false" do
257
+ expect(document.locations.first._matches?(selector)).to be false
258
+ end
259
+ end
260
+ end
261
+ end
262
+ end
143
263
  end
144
264
 
145
265
  context "when performing simple matching" do
@@ -155,7 +275,7 @@ describe Mongoid::Matchable do
155
275
  end
156
276
 
157
277
  it "returns true" do
158
- expect(document.matches?(selector)).to be true
278
+ expect(document._matches?(selector)).to be true
159
279
  end
160
280
  end
161
281
 
@@ -166,7 +286,7 @@ describe Mongoid::Matchable do
166
286
  end
167
287
 
168
288
  it "returns false" do
169
- expect(document.matches?(selector)).to be false
289
+ expect(document._matches?(selector)).to be false
170
290
  end
171
291
  end
172
292
 
@@ -177,7 +297,7 @@ describe Mongoid::Matchable do
177
297
  end
178
298
 
179
299
  it "returns true" do
180
- expect(document.matches?(selector)).to be true
300
+ expect(document._matches?(selector)).to be true
181
301
  end
182
302
  end
183
303
 
@@ -188,7 +308,7 @@ describe Mongoid::Matchable do
188
308
  end
189
309
 
190
310
  it "returns true" do
191
- expect(document.matches?(selector)).to be true
311
+ expect(document._matches?(selector)).to be true
192
312
  end
193
313
  end
194
314
  end
@@ -213,7 +333,7 @@ describe Mongoid::Matchable do
213
333
  end
214
334
 
215
335
  it "returns true" do
216
- expect(document.matches?(selector)).to be true
336
+ expect(document._matches?(selector)).to be true
217
337
  end
218
338
  end
219
339
 
@@ -224,7 +344,7 @@ describe Mongoid::Matchable do
224
344
  end
225
345
 
226
346
  it "returns false" do
227
- expect(document.matches?(selector)).to be false
347
+ expect(document._matches?(selector)).to be false
228
348
  end
229
349
  end
230
350
  end
@@ -238,7 +358,7 @@ describe Mongoid::Matchable do
238
358
  end
239
359
 
240
360
  it "returns true" do
241
- expect(document.matches?(selector)).to be true
361
+ expect(document._matches?(selector)).to be true
242
362
  end
243
363
  end
244
364
 
@@ -249,7 +369,7 @@ describe Mongoid::Matchable do
249
369
  end
250
370
 
251
371
  it "returns false" do
252
- expect(document.matches?(selector)).to be false
372
+ expect(document._matches?(selector)).to be false
253
373
  end
254
374
  end
255
375
  end
@@ -263,7 +383,7 @@ describe Mongoid::Matchable do
263
383
  end
264
384
 
265
385
  it "returns true" do
266
- expect(document.matches?(selector)).to be true
386
+ expect(document._matches?(selector)).to be true
267
387
  end
268
388
  end
269
389
 
@@ -274,7 +394,7 @@ describe Mongoid::Matchable do
274
394
  end
275
395
 
276
396
  it "returns false" do
277
- expect(document.matches?(selector)).to be false
397
+ expect(document._matches?(selector)).to be false
278
398
  end
279
399
  end
280
400
  end
@@ -288,7 +408,7 @@ describe Mongoid::Matchable do
288
408
  end
289
409
 
290
410
  it "returns true" do
291
- expect(document.matches?(selector)).to be true
411
+ expect(document._matches?(selector)).to be true
292
412
  end
293
413
  end
294
414
 
@@ -299,7 +419,7 @@ describe Mongoid::Matchable do
299
419
  end
300
420
 
301
421
  it "returns false" do
302
- expect(document.matches?(selector)).to be false
422
+ expect(document._matches?(selector)).to be false
303
423
  end
304
424
  end
305
425
  end
@@ -313,7 +433,7 @@ describe Mongoid::Matchable do
313
433
  end
314
434
 
315
435
  it "returns true" do
316
- expect(document.matches?(selector)).to be true
436
+ expect(document._matches?(selector)).to be true
317
437
  end
318
438
  end
319
439
 
@@ -324,7 +444,7 @@ describe Mongoid::Matchable do
324
444
  end
325
445
 
326
446
  it "returns false" do
327
- expect(document.matches?(selector)).to be false
447
+ expect(document._matches?(selector)).to be false
328
448
  end
329
449
  end
330
450
  end
@@ -338,7 +458,7 @@ describe Mongoid::Matchable do
338
458
  end
339
459
 
340
460
  it "returns true" do
341
- expect(document.matches?(selector)).to be true
461
+ expect(document._matches?(selector)).to be true
342
462
  end
343
463
  end
344
464
 
@@ -349,7 +469,7 @@ describe Mongoid::Matchable do
349
469
  end
350
470
 
351
471
  it "returns false" do
352
- expect(document.matches?(selector)).to be false
472
+ expect(document._matches?(selector)).to be false
353
473
  end
354
474
  end
355
475
  end
@@ -367,7 +487,7 @@ describe Mongoid::Matchable do
367
487
  end
368
488
 
369
489
  it "returns true" do
370
- expect(document.matches?(selector)).to be true
490
+ expect(document._matches?(selector)).to be true
371
491
  end
372
492
  end
373
493
 
@@ -380,7 +500,7 @@ describe Mongoid::Matchable do
380
500
  end
381
501
 
382
502
  it "returns false" do
383
- expect(document.matches?(selector)).to be false
503
+ expect(document._matches?(selector)).to be false
384
504
  end
385
505
  end
386
506
  end
@@ -400,7 +520,7 @@ describe Mongoid::Matchable do
400
520
  end
401
521
 
402
522
  it "returns true" do
403
- expect(document.matches?(selector)).to be true
523
+ expect(document._matches?(selector)).to be true
404
524
  end
405
525
  end
406
526
 
@@ -413,7 +533,7 @@ describe Mongoid::Matchable do
413
533
  end
414
534
 
415
535
  it "returns false" do
416
- expect(document.matches?(selector)).to be false
536
+ expect(document._matches?(selector)).to be false
417
537
  end
418
538
  end
419
539
  end
@@ -429,7 +549,7 @@ describe Mongoid::Matchable do
429
549
  end
430
550
 
431
551
  it "returns true" do
432
- expect(document.matches?(selector)).to be true
552
+ expect(document._matches?(selector)).to be true
433
553
  end
434
554
  end
435
555
 
@@ -442,7 +562,7 @@ describe Mongoid::Matchable do
442
562
  end
443
563
 
444
564
  it "returns false" do
445
- expect(document.matches?(selector)).to be false
565
+ expect(document._matches?(selector)).to be false
446
566
  end
447
567
  end
448
568
  end
@@ -460,7 +580,7 @@ describe Mongoid::Matchable do
460
580
  end
461
581
 
462
582
  it "returns true" do
463
- expect(document.matches?(selector)).to be true
583
+ expect(document._matches?(selector)).to be true
464
584
  end
465
585
  end
466
586
 
@@ -473,7 +593,7 @@ describe Mongoid::Matchable do
473
593
  end
474
594
 
475
595
  it "returns false" do
476
- expect(document.matches?(selector)).to be false
596
+ expect(document._matches?(selector)).to be false
477
597
  end
478
598
  end
479
599
  end
@@ -488,7 +608,7 @@ describe Mongoid::Matchable do
488
608
  end
489
609
 
490
610
  it "returns true" do
491
- expect(document.matches?(selector)).to be true
611
+ expect(document._matches?(selector)).to be true
492
612
  end
493
613
  end
494
614
 
@@ -499,7 +619,7 @@ describe Mongoid::Matchable do
499
619
  end
500
620
 
501
621
  it "returns false" do
502
- expect(document.matches?(selector)).to be false
622
+ expect(document._matches?(selector)).to be false
503
623
  end
504
624
  end
505
625
  end
@@ -513,7 +633,7 @@ describe Mongoid::Matchable do
513
633
  end
514
634
 
515
635
  it "returns true" do
516
- expect(document.matches?(selector)).to be true
636
+ expect(document._matches?(selector)).to be true
517
637
  end
518
638
  end
519
639
 
@@ -524,7 +644,7 @@ describe Mongoid::Matchable do
524
644
  end
525
645
 
526
646
  it "returns false" do
527
- expect(document.matches?(selector)).to be false
647
+ expect(document._matches?(selector)).to be false
528
648
  end
529
649
  end
530
650
  end
@@ -538,7 +658,7 @@ describe Mongoid::Matchable do
538
658
  end
539
659
 
540
660
  it "returns true" do
541
- expect(document.matches?(selector)).to be true
661
+ expect(document._matches?(selector)).to be true
542
662
  end
543
663
  end
544
664
 
@@ -549,7 +669,7 @@ describe Mongoid::Matchable do
549
669
  end
550
670
 
551
671
  it "returns false" do
552
- expect(document.matches?(selector)).to be false
672
+ expect(document._matches?(selector)).to be false
553
673
  end
554
674
  end
555
675
  end
@@ -563,7 +683,7 @@ describe Mongoid::Matchable do
563
683
  end
564
684
 
565
685
  it "returns true" do
566
- expect(document.matches?(selector)).to be true
686
+ expect(document._matches?(selector)).to be true
567
687
  end
568
688
  end
569
689
 
@@ -574,7 +694,7 @@ describe Mongoid::Matchable do
574
694
  end
575
695
 
576
696
  it "returns false" do
577
- expect(document.matches?(selector)).to be false
697
+ expect(document._matches?(selector)).to be false
578
698
  end
579
699
  end
580
700
  end
@@ -588,7 +708,7 @@ describe Mongoid::Matchable do
588
708
  end
589
709
 
590
710
  it "returns true" do
591
- expect(document.matches?(selector)).to be true
711
+ expect(document._matches?(selector)).to be true
592
712
  end
593
713
  end
594
714
 
@@ -599,7 +719,7 @@ describe Mongoid::Matchable do
599
719
  end
600
720
 
601
721
  it "returns false" do
602
- expect(document.matches?(selector)).to be false
722
+ expect(document._matches?(selector)).to be false
603
723
  end
604
724
  end
605
725
  end
@@ -613,7 +733,7 @@ describe Mongoid::Matchable do
613
733
  end
614
734
 
615
735
  it "returns true" do
616
- expect(document.matches?(selector)).to be true
736
+ expect(document._matches?(selector)).to be true
617
737
  end
618
738
  end
619
739
 
@@ -624,7 +744,7 @@ describe Mongoid::Matchable do
624
744
  end
625
745
 
626
746
  it "returns false" do
627
- expect(document.matches?(selector)).to be false
747
+ expect(document._matches?(selector)).to be false
628
748
  end
629
749
  end
630
750
  end
@@ -638,7 +758,7 @@ describe Mongoid::Matchable do
638
758
  end
639
759
 
640
760
  it "returns true" do
641
- expect(document.matches?(selector)).to be true
761
+ expect(document._matches?(selector)).to be true
642
762
  end
643
763
  end
644
764
 
@@ -649,7 +769,7 @@ describe Mongoid::Matchable do
649
769
  end
650
770
 
651
771
  it "returns false" do
652
- expect(document.matches?(selector)).to be false
772
+ expect(document._matches?(selector)).to be false
653
773
  end
654
774
  end
655
775
  end
@@ -663,7 +783,7 @@ describe Mongoid::Matchable do
663
783
  end
664
784
 
665
785
  it "returns true" do
666
- expect(document.matches?(selector)).to be true
786
+ expect(document._matches?(selector)).to be true
667
787
  end
668
788
  end
669
789
 
@@ -674,7 +794,7 @@ describe Mongoid::Matchable do
674
794
  end
675
795
 
676
796
  it "returns false" do
677
- expect(document.matches?(selector)).to be false
797
+ expect(document._matches?(selector)).to be false
678
798
  end
679
799
  end
680
800
  end
@@ -688,7 +808,7 @@ describe Mongoid::Matchable do
688
808
  end
689
809
 
690
810
  it "returns true" do
691
- expect(document.matches?(selector)).to be true
811
+ expect(document._matches?(selector)).to be true
692
812
  end
693
813
  end
694
814
 
@@ -699,7 +819,7 @@ describe Mongoid::Matchable do
699
819
  end
700
820
 
701
821
  it "returns false" do
702
- expect(document.matches?(selector)).to be false
822
+ expect(document._matches?(selector)).to be false
703
823
  end
704
824
  end
705
825
  end