elasticated 3.0.0 → 3.0.1

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: eefc3eab5d4fd7000cb959f921e9d1622769c7df
4
- data.tar.gz: 4cb4baa5ad341834938c175bffdad61669b63695
3
+ metadata.gz: cdd5d2086175d504907b22b0b152d8adffa9e13b
4
+ data.tar.gz: 9db1e94f8ec716696ae2bb15cd1a3aa9878a030a
5
5
  SHA512:
6
- metadata.gz: 62b3e29e6aa0e3c6406d65b7ecb041ac7ab4762f92007e6f63f2f830527b41df33e619f0078c886701b465b27ada8f390dec6963eb9d35522e56ba1dcd9adff5
7
- data.tar.gz: 57691483ddb1372257bf5bba74da566d8e7a6259ebc3c59f107b77e8a8b4780b64bce4d30d5926a34477e7072110d80a684dc37e35e4f09f423abad66783975c
6
+ metadata.gz: f24bf04a0195e2e0d5db22df845cfd4f4506c53e72a4878a2b72cfea06b92da6d92f0455c449240708838e59bad2f3b68a2b5f7d7714e39f4cc5da1d0579f94f
7
+ data.tar.gz: da184d8c17afa3675989cfb244eb047ad4d8e14f24d9f23db2892f536784908607430071b6404fe13bba79ffc32ab8743b35320ed47d90f01c2d2c7be1a66fd5
@@ -2,21 +2,16 @@ module Elasticated
2
2
  class DateHistogramAggregation < HistogramAggregation
3
3
  include Subaggregated
4
4
 
5
- attr_accessor :format, :offset
5
+ attr_accessor :format
6
6
 
7
7
  def initialize(field, opts={}, &block)
8
8
  self.format = opts.delete(:format) || 'yyyy-MM-dd'
9
9
  interval = opts.delete(:interval) || 'day'
10
- self.offset = opts.delete(:offset)
11
10
  super field, interval, opts, &block
12
11
  end
13
12
 
14
13
  def build
15
14
  terms = { field: field, interval: interval, format: format }
16
- if offset # '1.4 style'
17
- terms.merge! pre_offset: offset
18
- terms.merge! post_offset: offset
19
- end
20
15
  terms.merge! extra_params
21
16
  aggregation_struct = { date_histogram: terms }
22
17
  aggregation_struct.merge! build_subaggregations
@@ -4,10 +4,9 @@ module Elasticated
4
4
 
5
5
  DEFAULT_INTERVAL = '1d'
6
6
 
7
- attr_accessor :offset, :time_zone, :points, :compact, :include_count
7
+ attr_accessor :time_zone, :points, :compact, :include_count
8
8
 
9
9
  def initialize(field, opts={}, &block)
10
- self.offset = opts.delete(:offset)
11
10
  self.time_zone = opts.delete(:time_zone)
12
11
  self.points = opts.fetch(:points)
13
12
  opts.delete(:points)
@@ -19,10 +18,6 @@ module Elasticated
19
18
 
20
19
  def build
21
20
  terms = { field: field, interval: safe_interval.to_s }
22
- if offset # '1.4 style'
23
- terms.merge! pre_offset: offset
24
- terms.merge! post_offset: offset
25
- end
26
21
  if time_zone
27
22
  terms.merge! time_zone: time_zone
28
23
  end
@@ -24,8 +24,12 @@ module Elasticated
24
24
  params.merge! date_since: date_since if date_since
25
25
  params.merge! date_until: date_until if date_until
26
26
  else
27
- raise "Only one 'term' filter is allowed over the '#{field_name}' field" if values.count > 1
28
- params.merge! date: values.first
27
+ if values.count > 1
28
+ params.merge! date_since: values.min
29
+ params.merge! date_until: values.max
30
+ else
31
+ params.merge! date: values.first
32
+ end
29
33
  end
30
34
  params
31
35
  end
@@ -1,9 +1,15 @@
1
1
  module Elasticated
2
- VERSION = '3.0.0'
2
+ VERSION = '3.0.1'
3
3
  end
4
4
 
5
5
  # Changelog
6
6
 
7
+ # 3.0.1
8
+
9
+ # Cambios introducidos en 2.3.0
10
+
11
+ # 3.0.0
12
+
7
13
  # Ahora Repository#execute_aggregated_search puede definir automaticamente si ejecutar las aggregations o no
8
14
  # Se agrega el alias 'range' para la condicion 'between'
9
15
  # Se agrega el alias 'terms' para la condicion 'equal'
@@ -22,6 +28,9 @@ end
22
28
  # Se agrega TermCondition
23
29
  # Ahora se puede especificar si el mapping es dinamico
24
30
 
31
+ # 2.3.0
32
+ # Ahora DateFieldDelimiter admite multiples fechas declaradas en un TermsCondition
33
+
25
34
  # 2.2.0
26
35
  # Se agrega la funcionalidad para especificar un orden aleatorio en las queries
27
36
 
@@ -275,6 +275,12 @@ module Elasticated
275
275
  expect(agg.build).to eq expected_result
276
276
  end
277
277
 
278
+ it "should build a date histogram aggregation with offset for date" do
279
+ agg = DateHistogramAggregation.new :date, offset: '+6h'
280
+ expected_result = { date_histogram: { field: :date, interval: 'day', format: 'yyyy-MM-dd', offset: '+6h' } }
281
+ expect(agg.build).to eq expected_result
282
+ end
283
+
278
284
  it "should build a date histogram aggregation with subaggregations" do
279
285
  agg = DateHistogramAggregation.new :date do |docs|
280
286
  docs.max :numeric_field
@@ -19,10 +19,12 @@ module Elasticated
19
19
  expect(params).to eq date: '2016-07-19'
20
20
  end
21
21
 
22
- it "should raise when delimit by multiple terms" do
23
- delimiter.add_term :created_at, 'nombre1'
24
- delimiter.add_term :created_at, 'nombre2'
25
- expect{ delimiter.build_strategy_params }.to raise_error RuntimeError
22
+ it "should delimit by multiple terms" do
23
+ delimiter.add_term :created_at, '2017-03-30'
24
+ delimiter.add_term :created_at, '2017-03-25'
25
+ delimiter.add_term :created_at, '2017-03-27'
26
+ params = delimiter.build_strategy_params
27
+ expect(params).to eq date_since: '2017-03-25', date_until: '2017-03-30'
26
28
  end
27
29
 
28
30
  it "should delimit by a min date" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticated
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pablo Fernandez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-20 00:00:00.000000000 Z
11
+ date: 2017-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler