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
@@ -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