elasticsearch-dsl-builder 0.0.19 → 0.0.20

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: 453e3fd5d3b0339d6706247ade41438347f1ca9c
4
- data.tar.gz: 3989b7e9213782109d7bab0dcfb036dad90bf2a6
3
+ metadata.gz: 127afba26c31c5ba5eb40b9bd61466ad2e4037ae
4
+ data.tar.gz: 0bb347a6ab1a08a73a249446d28c456196c09fb7
5
5
  SHA512:
6
- metadata.gz: d445152fffc6cdb0e32297981c3079143176367300ffd365d960d0c4ba98551778be22f5bc1acb1c3dffca3302a6c7b3d3c52370867c0d448071c7986220fd7e
7
- data.tar.gz: 48b2b6efb27441b464867db62cbe8fde75a4fec39d91e628c1aaa0ba9152f0816a14c46a12882c2084cbd3492b2d563dd4e330bc700749dfb6da46fbaae83999
6
+ metadata.gz: fd34348170ec6f16797e0a6fe60b394e5202274034195e310316fa8b69876a38d02fa0b81c15d1c7750beb3480526d4a8ea3277ae529e3fde5dda0b46d5c5628
7
+ data.tar.gz: bc19abcde8d161d11102d92a16062320ab1acb83701653f8d5d8cebb9fc5543fcb660df5b1b00fae6b06b4a3dff237564376570d07a8690792d4d30aadb78e71
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- elasticsearch-dsl-builder (0.0.19)
4
+ elasticsearch-dsl-builder (0.0.20)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'elasticsearch-dsl-builder'
3
- s.version = '0.0.19'
3
+ s.version = '0.0.20'
4
4
  s.date = '2017-10-06'
5
5
  s.summary = 'Library utilizing builder pattern providing Ruby API for the Elasticsearch Query DSL'
6
6
  s.description = 'TBD'
@@ -16,7 +16,7 @@ module ElasticsearchDslBuilder
16
16
 
17
17
  def script(script)
18
18
  raise ArgumentError, 'script must be a Script' unless script.instance_of?(Script)
19
- @script = script.to_hash
19
+ @script = script
20
20
  self
21
21
  end
22
22
 
@@ -24,7 +24,7 @@ module ElasticsearchDslBuilder
24
24
  raise ArgumentError, 'must have set at least one of [field, script]' if @field.nil? && @script.nil?
25
25
  @aggregation = {}
26
26
  @aggregation.update(field: @field) if @field
27
- @aggregation.update(script: @script) if @script
27
+ @aggregation.update(script: @script.to_hash) if @script
28
28
  super
29
29
  end
30
30
  end
@@ -11,12 +11,12 @@ module ElasticsearchDslBuilder
11
11
 
12
12
  def filter(query)
13
13
  raise ArgumentError, 'query must be a Queries::Query' unless query.is_a?(Queries::Query)
14
- @query = query.to_hash
14
+ @query = query
15
15
  self
16
16
  end
17
17
 
18
18
  def to_hash
19
- @aggregation = @query
19
+ @aggregation = @query.to_hash
20
20
  super
21
21
  end
22
22
  end
@@ -10,7 +10,6 @@ module ElasticsearchDslBuilder
10
10
 
11
11
  def filter(query, name = nil)
12
12
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Queries::Query)
13
- query = query.to_hash
14
13
 
15
14
  if name.nil?
16
15
  # Adding an anonymous filter
@@ -30,7 +29,9 @@ module ElasticsearchDslBuilder
30
29
 
31
30
  def to_hash
32
31
  raise ArgumentError, 'no filters were added' if @filters.nil?
33
- @aggregation = { filters: @filters }
32
+
33
+ filters = @filters.instance_of?(Hash) ? @filters.map { |k, v| [k, v.to_hash] }.to_h : @filters.map(&:to_hash)
34
+ @aggregation = { filters: filters }
34
35
  super
35
36
  end
36
37
  end
@@ -16,7 +16,7 @@ module ElasticsearchDslBuilder
16
16
 
17
17
  def script(script)
18
18
  raise ArgumentError, 'script must be a Script' unless script.instance_of?(Script)
19
- @script = script.to_hash
19
+ @script = script
20
20
  self
21
21
  end
22
22
 
@@ -45,7 +45,7 @@ module ElasticsearchDslBuilder
45
45
  raise ArgumentError, 'must have set at least one of [field, script]' if @field.nil? && @script.nil?
46
46
  @aggregation = {}
47
47
  @aggregation.update(field: @field) if @field
48
- @aggregation.update(script: @script) if @script
48
+ @aggregation.update(script: @script.to_hash) if @script
49
49
  @aggregation.update(keyed: @keyed) if @keyed
50
50
  @aggregation.update(ranges: @ranges) if @ranges
51
51
  super
@@ -16,7 +16,7 @@ module ElasticsearchDslBuilder
16
16
 
17
17
  def script(script)
18
18
  raise ArgumentError, 'script must be a Script' unless script.instance_of?(Script)
19
- @script = script.to_hash
19
+ @script = script
20
20
  self
21
21
  end
22
22
 
@@ -29,7 +29,7 @@ module ElasticsearchDslBuilder
29
29
  raise ArgumentError, 'must have set at least one of [field, script]' if @field.nil? && @script.nil?
30
30
  @aggregation = {}
31
31
  @aggregation.update(field: @field) if @field
32
- @aggregation.update(script: @script) if @script
32
+ @aggregation.update(script: @script.to_hash) if @script
33
33
  @aggregation.update(missing: @missing) if @missing
34
34
  super
35
35
  end
@@ -16,7 +16,7 @@ module ElasticsearchDslBuilder
16
16
 
17
17
  def script(script)
18
18
  raise ArgumentError, 'script must be a Script' unless script.instance_of?(Script)
19
- @script = script.to_hash
19
+ @script = script
20
20
  self
21
21
  end
22
22
 
@@ -46,7 +46,7 @@ module ElasticsearchDslBuilder
46
46
  raise ArgumentError, 'must have set at least one of [field, script]' if @field.nil? && @script.nil?
47
47
  @aggregation = {}
48
48
  @aggregation.update(field: @field) if @field
49
- @aggregation.update(script: @script) if @script
49
+ @aggregation.update(script: @script.to_hash) if @script
50
50
  @aggregation.update(size: @size) if @size
51
51
  @aggregation.update(include: @include) if @include
52
52
  @aggregation.update(exclude: @exclude) if @exclude
@@ -25,7 +25,7 @@ module ElasticsearchDslBuilder
25
25
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Query)
26
26
 
27
27
  @must ||= []
28
- hashed_query = query.to_hash
28
+ hashed_query = query
29
29
  @must << hashed_query unless @must.include?(hashed_query)
30
30
  self
31
31
  end
@@ -34,7 +34,7 @@ module ElasticsearchDslBuilder
34
34
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Query)
35
35
 
36
36
  @must_not ||= []
37
- hashed_query = query.to_hash
37
+ hashed_query = query
38
38
  @must_not << hashed_query unless @must_not.include?(hashed_query)
39
39
  self
40
40
  end
@@ -43,7 +43,7 @@ module ElasticsearchDslBuilder
43
43
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Query)
44
44
 
45
45
  @should ||= []
46
- hashed_query = query.to_hash
46
+ hashed_query = query
47
47
  @should << hashed_query unless @should.include?(hashed_query)
48
48
  self
49
49
  end
@@ -52,7 +52,7 @@ module ElasticsearchDslBuilder
52
52
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Query)
53
53
 
54
54
  @filter ||= []
55
- hashed_query = query.to_hash
55
+ hashed_query = query
56
56
  @filter << hashed_query unless @filter.include?(hashed_query)
57
57
  self
58
58
  end
@@ -60,10 +60,10 @@ module ElasticsearchDslBuilder
60
60
  def to_hash
61
61
  @query = {}
62
62
  @query.update(minimum_should_match: @minimum_should_match) if @minimum_should_match
63
- @query.update(must: @must) if @must
64
- @query.update(must_not: @must_not) if @must_not
65
- @query.update(should: @should) if @should
66
- @query.update(filter: @filter) if @filter
63
+ @query.update(must: @must.map(&:to_hash)) if @must
64
+ @query.update(must_not: @must_not.map(&:to_hash)) if @must_not
65
+ @query.update(should: @should.map(&:to_hash)) if @should
66
+ @query.update(filter: @filter.map(&:to_hash)) if @filter
67
67
  super
68
68
  end
69
69
  end
@@ -18,20 +18,20 @@ module ElasticsearchDslBuilder
18
18
  def query(query)
19
19
  raise ArgumentError, 'query must extend type Queries::Query' unless query.is_a?(Query)
20
20
 
21
- @nested_query = query.to_hash
21
+ @nested_query = query
22
22
  self
23
23
  end
24
24
 
25
25
  def inner_hits(inner_hits)
26
26
  raise ArgumentError, 'inner_hits must be an InnerHits object' unless inner_hits.instance_of?(InnerHits)
27
- @inner_hits = inner_hits.to_hash
27
+ @inner_hits = inner_hits
28
28
  self
29
29
  end
30
30
 
31
31
  def to_hash
32
32
  @query = { path: @path }
33
- @query.update(query: @nested_query) if @nested_query
34
- @query.update(inner_hits: @inner_hits) if @inner_hits
33
+ @query.update(query: @nested_query.to_hash) if @nested_query
34
+ @query.update(inner_hits: @inner_hits.to_hash) if @inner_hits
35
35
  super
36
36
  end
37
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-dsl-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marvin Guerra