scopiform 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/scopiform/filters.rb +7 -3
- data/lib/scopiform/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30cb9c90be999146f6dbe4f725d703960627ab29552d4ac0f86e504496e6c22b
|
4
|
+
data.tar.gz: 6f13413853016fddb924bbd7fb9a2cad4124f4ff0a8eee2cf107d1a73bf4ac8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebc542f2e89fa299f80439da6cb16d7600b4df9eaa5fe32470d39d405e77d1b654b7aea645cdd8f5057ec8821a6cb783eb0124ac1c65f31fdf3bac74a2a9ef22
|
7
|
+
data.tar.gz: 4c8be1e46b61fb5a806523a8614e1c02d7c3ce44e9eb941cb562a55ebb2186738b58d22208292f2b9e987dc7ca95319d6f70e28624b6d3c29a37807640f9612a
|
data/lib/scopiform/filters.rb
CHANGED
@@ -23,17 +23,21 @@ module Scopiform
|
|
23
23
|
private
|
24
24
|
|
25
25
|
def resolve_filter(out, filter_name, filter_argument, ctx:)
|
26
|
-
|
26
|
+
is_or = filter_name.to_s.casecmp?('OR')
|
27
|
+
is_and = filter_name.to_s.casecmp?('AND')
|
28
|
+
if is_or || is_and
|
27
29
|
ctx ||= ScopeContext.new
|
28
30
|
ctx.joins = []
|
31
|
+
chain_method = is_or ? :or : :merge
|
29
32
|
|
30
33
|
return (
|
31
34
|
filter_argument
|
32
|
-
.map { |
|
35
|
+
.map { |filter_hash| apply_filters(filter_hash, injecting: out, ctx: ctx) }
|
33
36
|
.map { |a| a.joins(ctx.joins) }
|
34
|
-
.inject { |chain, applied| chain.
|
37
|
+
.inject { |chain, applied| chain.public_send(chain_method, applied) }
|
35
38
|
)
|
36
39
|
end
|
40
|
+
|
37
41
|
out.send(filter_name, filter_argument, ctx: ctx)
|
38
42
|
end
|
39
43
|
|
data/lib/scopiform/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scopiform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jayce.pulsipher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|