Sha256: f31872bd68b3da0050595ec82a1e9a69d9707116e464f7fde4092221fa6d7118

Contents?: true

Size: 734 Bytes

Versions: 19

Compression:

Stored size: 734 Bytes

Contents

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

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

    def clone
      prepare_clone(super)
    end

    def simplify
      prepare_clone(super)
    end

    def render(_options = {})
      hash = {}
      hash['gte'] = @gte unless @gte.nil?
      hash['gt'] = @gt unless @gt.nil?
      hash['lte'] = @lte unless @lte.nil?
      hash['lt'] = @lt unless @lt.nil?

      { "range" => { render_field(_options) => render_boost(hash) } }
    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

19 entries across 19 versions & 1 rubygems

Version Path
elastic-rails-1.0.4 lib/elastic/nodes/range.rb
elastic-rails-1.0.3 lib/elastic/nodes/range.rb
elastic-rails-1.0.2 lib/elastic/nodes/range.rb
elastic-rails-1.0.1 lib/elastic/nodes/range.rb
elastic-rails-1.0.0 lib/elastic/nodes/range.rb
elastic-rails-0.8.7 lib/elastic/nodes/range.rb
elastic-rails-0.8.6 lib/elastic/nodes/range.rb
elastic-rails-0.8.5 lib/elastic/nodes/range.rb
elastic-rails-0.8.4 lib/elastic/nodes/range.rb
elastic-rails-0.8.3 lib/elastic/nodes/range.rb
elastic-rails-0.8.2 lib/elastic/nodes/range.rb
elastic-rails-0.8.1 lib/elastic/nodes/range.rb
elastic-rails-0.8.0 lib/elastic/nodes/range.rb
elastic-rails-0.7.0 lib/elastic/nodes/range.rb
elastic-rails-0.6.4 lib/elastic/nodes/range.rb
elastic-rails-0.6.3 lib/elastic/nodes/range.rb
elastic-rails-0.6.2 lib/elastic/nodes/range.rb
elastic-rails-0.6.1 lib/elastic/nodes/range.rb
elastic-rails-0.6.0 lib/elastic/nodes/range.rb