module Groonga::Client::Searcher::SelectRequest::SourcesSupport
Public Instance Methods
sources()
click to toggle source
# File lib/groonga/client/searcher/select_request.rb, line 35 def sources @sources ||= fetch_sources end
Private Instance Methods
fetch_sources()
click to toggle source
# File lib/groonga/client/searcher/select_request.rb, line 40 def fetch_sources source_ids = {} records.collect do |record| model_name, id = record._key.split(/-/, 2) source_ids[model_name] ||= [] source_ids[model_name] << id end sources = {} source_ids.each do |model_name, ids| model_name.constantize.find(ids).each_with_index do |model, i| sources["#{model_name}-#{ids[i]}"] = model end end records.collect do |record| source = sources[record._key] record.source = source source end end