origin 2.2.1 → 2.2.2

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.
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: