Class: Elasticated::RangesBuilder

Inherits:
Object
  • Object
show all
Includes:
Mixins::BlockEvaluation, Mixins::Clonable
Defined in:
lib/elasticated/aggregations/ranges_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mixins::BlockEvaluation

#evaluate

Methods included from Mixins::Clonable

#==, #clone

Constructor Details

#initializeRangesBuilder

Returns a new instance of RangesBuilder.



9
10
11
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 9

def initialize
  self._ranges = Array.new
end

Instance Attribute Details

#_rangesObject

Returns the value of attribute _ranges.



7
8
9
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 7

def _ranges
  @_ranges
end

Instance Method Details

#between(min_value, max_value, range_name = nil) ⇒ Object



25
26
27
28
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 25

def between(min_value, max_value, range_name=nil)
  range_name ||= "between_#{min_value}_and_#{max_value}"
  _ranges << { key: range_name, from: min_value, to: max_value }
end

#buildObject



30
31
32
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 30

def build
  _ranges
end

#greater_equal(value, range_name = nil) ⇒ Object Also known as: ge



19
20
21
22
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 19

def greater_equal(value, range_name=nil)
  range_name ||= "greater_equal_#{value}"
  _ranges << { key: range_name, from: value }
end

#less_equal(value, range_name = nil) ⇒ Object Also known as: le



13
14
15
16
# File 'lib/elasticated/aggregations/ranges_builder.rb', line 13

def less_equal(value, range_name=nil)
  range_name ||= "less_equal_#{value}"
  _ranges << { key: range_name, to: value }
end