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