elasticsearch-dsl-builder 0.0.19 → 0.0.20

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