Sha256: 9958b32d35ef60e18e1caa72cc7ebf05d8eae2f9c8541304084bd40bdba01846

Contents?: true

Size: 701 Bytes

Versions: 1

Compression:

Stored size: 701 Bytes

Contents

module Elastic::Nodes
  class Range < Base
    include Concerns::Boostable

    attr_accessor :field, :gte, :gt, :lte, :lt

    def clone
      prepare_clone(super)
    end

    def simplify
      prepare_clone(super)
    end

    def render
      options = {}
      options['gte'] = @gte unless @gte.nil?
      options['gt'] = @gt unless @gt.nil?
      options['lte'] = @lte unless @lte.nil?
      options['lt'] = @lt unless @lt.nil?

      { "range" => { @field.to_s => render_boost(options) } }
    end

    private

    def prepare_clone(_clone)
      _clone.field = @field
      _clone.gte = @gte
      _clone.gt = @gt
      _clone.lte = @lte
      _clone.lt = @lt
      _clone
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
elastic-rails-0.5.0 lib/elastic/nodes/range.rb