class Tire::Results::Suggestions

Public Class Methods

new(response, options={}) click to toggle source
# File lib/tire/results/suggestions.rb, line 7
          def initialize(response, options={})
  @response = response
  @options = options
  @shards_info ||= @response.delete '_shards'
  @keys ||= @response.keys
end

Public Instance Methods

each(&block) click to toggle source
# File lib/tire/results/suggestions.rb, line 23
def each(&block)
  results.each(&block)
end
error() click to toggle source
# File lib/tire/results/suggestions.rb, line 55
def error
  @response['error']
end
failure?() click to toggle source
# File lib/tire/results/suggestions.rb, line 63
def failure?
  ! success?
end
keys() click to toggle source
# File lib/tire/results/suggestions.rb, line 19
def keys
  @keys
end
options(suggestion=:all) click to toggle source
# File lib/tire/results/suggestions.rb, line 31
def options(suggestion=:all)
  if suggestion == :all
    results.map {|k,v| v.map{|s| s['options']}}.flatten
  else
    results[suggestion.to_s].map{|s| s['options']}.flatten
  end
end
payloads(suggestion=:all) click to toggle source
# File lib/tire/results/suggestions.rb, line 47
def payloads(suggestion=:all)
  if suggestion == :all
    results.map {|k,v| v.map{|s| s['options'].map {|o| o['payload']}}}.flatten
  else
    results[suggestion.to_s].map{|s| s['options'].map {|o| o['payload']}}.flatten
  end
end
results() click to toggle source
# File lib/tire/results/suggestions.rb, line 14
def results
  return [] if failure?
  @results ||= @response
end
size() click to toggle source
# File lib/tire/results/suggestions.rb, line 27
def size
  results.size
end
success?() click to toggle source
# File lib/tire/results/suggestions.rb, line 59
def success?
  error.to_s.empty?
end
texts(suggestion=:all) click to toggle source
# File lib/tire/results/suggestions.rb, line 39
def texts(suggestion=:all)
  if suggestion == :all
    results.map {|k,v| v.map{|s| s['options'].map {|o| o['text']}}}.flatten
  else
    results[suggestion.to_s].map{|s| s['options'].map {|o| o['text']}}.flatten
  end
end