activecube-graphql 0.1.18 → 0.1.19

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
  SHA256:
3
- metadata.gz: e0a0c3d679275e13036022bd91bc90e45b4ccc5377dbaa5415ad51342bb71d05
4
- data.tar.gz: 7e8ee20d8897e6f95cbff7b30ee5b636f9d0e312c0d4c9d70b2975021a2437e1
3
+ metadata.gz: b25aea2427a180585cadd733facfca3fd3b97c6b409caf4bbc0c19242811e1ab
4
+ data.tar.gz: 83ad80ea19246880867da2b9ff022ef7610ae44e8833b9371afd3a4c94bc601e
5
5
  SHA512:
6
- metadata.gz: c403314bb0f2a551eec6f5bb33838d94e800863894e722500ee807606710e3ed78fda64e8db30f466b20657c4b67924efb07a2498018b6c5007e4ff3504191be
7
- data.tar.gz: 120af633c5a5dc2de1e0e14d6f2a12fd3858e3a08cb1452c0c3398dc235e7e837cd90b8c00c438079155646e3d0917b1951e14a95d658f5b87944fcbc60f4d83
6
+ metadata.gz: 59e2e1038ec25b78146307ba94b9290c2d505039b3354ad3d7b7d30ee8fc2ba899bb78e1c9a5a3f417be0f9a1bc0bd442cce271680d2469d475c4b63c8b8ad6c
7
+ data.tar.gz: 17765551a7dac697c1d2a4a05106621b68da6c331646da30f646d7e5b49e0f7065ddc74fa2efde7b22cd80da2b1257451beea765305813e6e6c18e0ee5c8aaee
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activecube-graphql (0.1.17)
4
+ activecube-graphql (0.1.18)
5
5
  activecube (~> 0.1.28)
6
6
  graphql (~> 1.10)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activecube (0.1.29)
11
+ activecube (0.1.30)
12
12
  activerecord (>= 5.2)
13
13
  activemodel (6.0.3.1)
14
14
  activesupport (= 6.0.3.1)
@@ -42,9 +42,9 @@ GEM
42
42
  rspec-support (~> 3.9.0)
43
43
  rspec-support (3.9.3)
44
44
  thread_safe (0.3.6)
45
- tzinfo (1.2.7)
45
+ tzinfo (1.2.8)
46
46
  thread_safe (~> 0.1)
47
- zeitwerk (2.4.1)
47
+ zeitwerk (2.4.2)
48
48
 
49
49
  PLATFORMS
50
50
  ruby
@@ -6,6 +6,7 @@ module Activecube
6
6
 
7
7
  TYPENAME = '__typename'
8
8
  KEY_FIELD_PREFIX = '_aq.'
9
+ NULLABLE_OPERATORS = [:eq,:not_eq,:is,:not]
9
10
 
10
11
  attr_reader :arguments, :ast_node, :cube, :parent, :name, :definition, :key,
11
12
  :children, :metric, :dimension, :field, :context_node
@@ -131,11 +132,15 @@ module Activecube
131
132
  hash.each_pair do |operator, arg|
132
133
  selector = cube.selectors[k]
133
134
  raise Activecube::InputArgumentError, "#{selector} does not handle method '#{operator}' for #{element} '#{k}'" unless selector.respond_to?(operator)
134
- element = element.when( selector.send(operator, arg) ) unless arg.nil?
135
+ element = element.when( selector.send(operator, arg) ) if applicable_operator?(operator, arg)
135
136
  end
136
137
  element
137
138
  end
138
139
 
140
+ def applicable_operator? operator, arg
141
+ !arg.nil? || NULLABLE_OPERATORS.include?(operator)
142
+ end
143
+
139
144
  def apply_or_selector element, value
140
145
  selectors = value.collect{|v| make_selector v }.compact
141
146
  element.when( Activecube::Query::Selector.or(selectors) )
@@ -1,5 +1,5 @@
1
1
  module Activecube
2
2
  module Graphql
3
- VERSION = "0.1.18"
3
+ VERSION = "0.1.19"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activecube-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksey Studnev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-10 00:00:00.000000000 Z
11
+ date: 2020-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activecube