module Elastic::Nodes::Concerns::HitProvider

Attributes

size[RW]
source[R]

Public Instance Methods

clone() click to toggle source
Calls superclass method
# File lib/elastic/nodes/concerns/hit_provider.rb, line 17
def clone
  copy_hit_options super
end
simplify() click to toggle source
Calls superclass method
# File lib/elastic/nodes/concerns/hit_provider.rb, line 21
def simplify
  copy_hit_options super
end
source=(_values) click to toggle source
# File lib/elastic/nodes/concerns/hit_provider.rb, line 6
def source=(_values)
  case _values
  when nil, false
    @source = _values
  when Array, Enumerable
    @source = _values.dup.to_a
  else
    raise ArgumentError, 'invalid query source value'
  end
end

Private Instance Methods

copy_hit_options(_clone) click to toggle source
# File lib/elastic/nodes/concerns/hit_provider.rb, line 37
def copy_hit_options(_clone)
  _clone.size = @size
  _clone.source = @source
  _clone
end
prepare_hits(_hits, _formatter) click to toggle source
# File lib/elastic/nodes/concerns/hit_provider.rb, line 27
def prepare_hits(_hits, _formatter)
  _hits.map do |raw_hit|
    Elastic::Results::Hit.new(
      raw_hit['_id'],
      raw_hit['_score'],
      raw_hit['_source'] ? _formatter.format(raw_hit['_source']) : nil
    )
  end
end
render_hit_options(_hash) click to toggle source
# File lib/elastic/nodes/concerns/hit_provider.rb, line 43
def render_hit_options(_hash)
  _hash['size'] = @size unless @size.nil?
  _hash["_source"] = @source unless @source.nil?
  _hash
end