es_query_builder 2.0.3 → 2.0.4

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/search_source_builder.rb +28 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d03cbf7e5db9b7d0403b0afb351d63dd65845b2
4
- data.tar.gz: 1d036d1d43db05111728fc56fc6ca6a2e8f29411
3
+ metadata.gz: 0f513758e289382abfa9120298c7d174e7978f41
4
+ data.tar.gz: 526d810b1e34728d83a4d1661695fcded2172c1a
5
5
  SHA512:
6
- metadata.gz: df1c794e3f7856f0f5423c31a200e4edfaaab2f89fbd5a03917e9951816fc8171ab7503c1f12fca8630872fe38be51f1958c6076b6584fe75b27a157277a102d
7
- data.tar.gz: 1fd76383955c33a17510e45d44f7c9556d429d819641825ff53893a784c32d9c45616623e68b3874e7efc464b6af5adf1b5dc090ec6b03557533948f5c985a8b
6
+ metadata.gz: 7eb026b02677a5013e58358e4f5c3f4dc50db925ab01faab431d5d873eda3a808c275fb907839e347062b724f6799aca5b07961a3c8b0aed58ad50466b2a70c8
7
+ data.tar.gz: a1a2b0f640c393660cd10b72f8ab4e188c4c37b31cc8bfee64aa33ae09a974006f7a4502a24413d7e2990ca870d0fa1ea5ccc46a4d0a62b7b0df8025f1988500
@@ -7,6 +7,7 @@ class SearchSourceBuilder
7
7
  @aggregations = []
8
8
  @sort = []
9
9
  @source = []
10
+ @_source = {}
10
11
  @size = nil
11
12
  @explain = nil
12
13
  @from = nil
@@ -22,7 +23,7 @@ class SearchSourceBuilder
22
23
  body[:query] = @query.query
23
24
  body[:aggregations] = @aggregations.map{|agg| agg.query}.reduce({}, :merge) if @aggregations.present?
24
25
  body[:sort] = @sort.map{|sort_object| sort_object.query} if @sort.present?
25
- body[:_source] = @source
26
+ body[:_source] = @_source.presence || @source
26
27
  body[:size] = @size
27
28
  body[:explain] = @explain
28
29
  body[:from] = @from
@@ -80,6 +81,32 @@ class SearchSourceBuilder
80
81
  return self
81
82
  end
82
83
 
84
+ # returns source_fields
85
+ def source_include_expr
86
+ return [] unless @_source[:include].present?
87
+ @_source[:include]
88
+ end
89
+
90
+ def source_exclude_expr
91
+ return [] unless @_source[:exclude].present?
92
+ @_source[:exclude]
93
+ end
94
+
95
+ # sets source include fields
96
+ def source_include(include_list)
97
+ @_source[:include] = [] if @_source[:include].blank?
98
+ include_list.is_a?(Array) ? (@_source[:include] += include_list) : @_source[:include].append(include_list)
99
+ self
100
+ end
101
+
102
+ # sets source exclude fields
103
+ def source_exclude(exclude_list)
104
+ @_source[:exclude] = [] if @_source[:exclude].blank?
105
+ exclude_list.is_a?(Array) ? (@_source[:exclude] += exclude_list) : @_source[:exclude].append(exclude_list)
106
+ self
107
+ end
108
+
109
+
83
110
  # returns size
84
111
  def size_expr
85
112
  return @size
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: es_query_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohib Yousuf
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-04-02 00:00:00.000000000 Z
14
+ date: 2020-04-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails