origin 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b3dd0d1ffa7364b1d22d3ecab9755acad55db19
4
- data.tar.gz: 59d946d465824d927f0e21b234c5bca4ce14b5e5
3
+ metadata.gz: a84f9c2e99783c93a4a4e74e7eb70341451be50f
4
+ data.tar.gz: 3c82e871417054d9669033ce53e84faab00dcb9f
5
5
  SHA512:
6
- metadata.gz: 303578ea5526fef18a4a6bd01012de29816c62c21e55875ddd1766f92d2fc4906641ccf512fcc9aaef168763fbdfd3f1d6a754bfa83670a7464a3a95573455bc
7
- data.tar.gz: 55882c68fe07dec11b74d82eb13b48eaf2c2f92857197763365f5a7bd033d6535ef8155dea91a80562aaa9d9190d25622fae0c865c00b2f355fb824cc8b0276b
6
+ metadata.gz: 7c56c70958271f3557dafb5280b31e1361fec3c57aea397e51d25ea360bd140d0950be487891bb70541b5c81f68e3efe4f9916a186f4dc3399e1c3d15b7d5d30
7
+ data.tar.gz: dc05d8f492fe32644b76d98524e2769c7588c0a437fa205a3fa08a9425bee4bfea18191e6c77bf63cb2fb046befc70f7e615a86b826de1cf098a9bc486eb3243
@@ -19,7 +19,13 @@ module Origin
19
19
  other.each_pair do |key, value|
20
20
  if value.is_a?(Hash) && self[key.to_s].is_a?(Hash)
21
21
  value = self[key.to_s].merge(value) do |_key, old_val, new_val|
22
- _key == '$in' ? new_val & old_val : old_val | new_val
22
+ if in?(_key)
23
+ new_val & old_val
24
+ elsif nin?(_key)
25
+ (old_val + new_val).uniq
26
+ else
27
+ new_val
28
+ end
23
29
  end
24
30
  end
25
31
  if multi_selection?(key)
@@ -188,5 +194,15 @@ module Origin
188
194
  def multi_value?(key)
189
195
  key =~ /\$nin|\$in/
190
196
  end
197
+
198
+ private
199
+
200
+ def in?(key)
201
+ key =~ /\$in/
202
+ end
203
+
204
+ def nin?(key)
205
+ key =~ /\$nin/
206
+ end
191
207
  end
192
208
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Origin
3
- VERSION = "2.2.1"
3
+ VERSION = "2.2.2"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-19 00:00:00.000000000 Z
11
+ date: 2016-10-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Origin is a simple DSL for generating MongoDB selectors and options
14
14
  email: