Module: Flex::Result::DocumentLoader
- Defined in:
- lib/flex/result/document_loader.rb
Overview
adds sugar to documents with the following structure:
{
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1",
}
Defined Under Namespace
Modules: ModelClasses
Class Method Summary collapse
-
.should_extend?(result) ⇒ Boolean
extend if result has a structure like a document.
Instance Method Summary collapse
Class Method Details
.should_extend?(result) ⇒ Boolean
extend if result has a structure like a document
34 35 36 |
# File 'lib/flex/result/document_loader.rb', line 34 def self.should_extend?(result) result.is_a? Document end |
Instance Method Details
#load ⇒ Object
42 43 44 |
# File 'lib/flex/result/document_loader.rb', line 42 def load model_class.find(self['_id']) if model_class end |
#load! ⇒ Object
46 47 48 49 50 |
# File 'lib/flex/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 ⇒ Object
38 39 40 |
# File 'lib/flex/result/document_loader.rb', line 38 def model_class @model_class ||= ModelClasses.map["#{index_basename}/#{self['_type']}"] end |