class Tire::Search::Multi::Results

Wraps the search result sets for Tire::Multi::Search

Public Class Methods

new(searches, results) click to toggle source
# File lib/tire/multi_search.rb, line 45
def initialize(searches, results)
  @searches = searches
  @results  = results
  @collection = @results.zip(@searches.to_a).map do |results, search|
    Tire::Results::Collection.new(results, search.options)
  end
end

Public Instance Methods

[](name) click to toggle source

Return a specific result sets

# File lib/tire/multi_search.rb, line 54
def [] name
  if index = @searches.names.index(name)
    @collection[ index ]
  end
end
each(&block) click to toggle source
# File lib/tire/multi_search.rb, line 60
def each(&block)
  @collection.each(&block)
end
each_pair(&block) click to toggle source
# File lib/tire/multi_search.rb, line 64
def each_pair(&block)
  @searches.names.zip(@collection).each(&block)
end
size() click to toggle source
# File lib/tire/multi_search.rb, line 68
def size
  @results.size
end
to_hash() click to toggle source

Returns the multi-search result sets as a Hash with the search name as key and the results as value.

# File lib/tire/multi_search.rb, line 75
def to_hash
  result = {}
  each_pair { |name,results| result[name] = results }
  result
end