module Elastics::Result::DocumentLoader
adds sugar to documents with the following structure:
{ "_index" : "twitter", "_type" : "tweet", "_id" : "1", }
Public Class Methods
should_extend?(result)
click to toggle source
extend if result has a structure like a document
# File lib/elastics/result/document_loader.rb, line 34 def self.should_extend?(result) result.is_a? Document end
Public Instance Methods
load()
click to toggle source
# File lib/elastics/result/document_loader.rb, line 42 def load model_class.find(self['_id']) if model_class end
load!()
click to toggle source
# File lib/elastics/result/document_loader.rb, line 46 def load! raise DocumentMappingError, "the '#{index_basename}/#{self['_type']}' document cannot be mapped to any class." \ unless model_class model_class.find self['_id'] end
model_class()
click to toggle source
# File lib/elastics/result/document_loader.rb, line 38 def model_class @model_class ||= ModelClasses.map["#{index_basename}/#{self['_type']}"] end