class Rawscsi::SearchHelpers::ResultsActiveRecord
Attributes
response[R]
Public Class Methods
new(response, model)
click to toggle source
# File lib/rawscsi/search_helpers/results_active_record.rb, line 6 def initialize(response, model) @response = response @model = model end
Public Instance Methods
build()
click to toggle source
# File lib/rawscsi/search_helpers/results_active_record.rb, line 11 def build id_array = @response["hits"]["hit"].map {|h| model_id(h["id"]) } return [] if id_array.empty? results = if ActiveRecord::VERSION::MAJOR > 2 klass.where(:id => id_array).to_a else klass.find_all_by_id(id_array) end results.index_by(&:id).slice(*id_array).values end
Private Instance Methods
klass()
click to toggle source
# File lib/rawscsi/search_helpers/results_active_record.rb, line 24 def klass @model.constantize end
model_id(doc_id)
click to toggle source
# File lib/rawscsi/search_helpers/results_active_record.rb, line 28 def model_id(doc_id) doc_id.split('_').last.to_i end