Class: Elasticsearch::Model::Response::Result
- Inherits:
 - 
      Object
      
        
- Object
 - Elasticsearch::Model::Response::Result
 
 
- Defined in:
 - lib/elasticsearch/model/response/result.rb
 
Overview
Encapsulates the “hit” returned from the Elasticsearch client
Wraps the raw Hash with in a ‘Hashie::Mash` instance, providing access to the Hash properties by calling Ruby methods.
Instance Method Summary collapse
- #as_json(options = {}) ⇒ Object
 - 
  
    
      #id  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Return document ‘_id` as `id`.
 - 
  
    
      #initialize(attributes = {})  ⇒ Result 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Result.
 - 
  
    
      #method_missing(name, *arguments)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Delegate methods to ‘@result` or `@result._source`.
 - 
  
    
      #respond_to_missing?(method_name, include_private = false)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Respond to methods from ‘@result` or `@result._source`.
 
Constructor Details
#initialize(attributes = {}) ⇒ Result
Returns a new instance of Result.
      33 34 35  | 
    
      # File 'lib/elasticsearch/model/response/result.rb', line 33 def initialize(attributes={}) @result = HashWrapper.new(attributes) end  | 
  
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *arguments) ⇒ Object
Delegate methods to ‘@result` or `@result._source`
      45 46 47 48 49 50 51 52 53 54 55 56  | 
    
      # File 'lib/elasticsearch/model/response/result.rb', line 45 def method_missing(name, *arguments) case when name.to_s.end_with?('?') @result.__send__(name, *arguments) || ( @result._source && @result._source.__send__(name, *arguments) ) when @result.respond_to?(name) @result.__send__ name, *arguments when @result._source && @result._source.respond_to?(name) @result._source.__send__ name, *arguments else super end end  | 
  
Instance Method Details
#as_json(options = {}) ⇒ Object
      66 67 68  | 
    
      # File 'lib/elasticsearch/model/response/result.rb', line 66 def as_json(={}) @result.as_json() end  | 
  
#id ⇒ Object
Return document ‘_id` as `id`
      39 40 41  | 
    
      # File 'lib/elasticsearch/model/response/result.rb', line 39 def id @result['_id'] end  | 
  
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
Respond to methods from ‘@result` or `@result._source`
      60 61 62 63 64  | 
    
      # File 'lib/elasticsearch/model/response/result.rb', line 60 def respond_to_missing?(method_name, include_private = false) @result.respond_to?(method_name.to_sym) || \ @result._source && @result._source.respond_to?(method_name.to_sym) || \ super end  |