class Elasticsearch::Rails2::Response::Result
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.
Public Class Methods
new(attributes={})
click to toggle source
@param attributes [Hash] A Hash with document properties
# File lib/elasticsearch/rails2/response/result.rb, line 16 def initialize(attributes={}) @result = Hashie::Mash.new(attributes) end
Public Instance Methods
as_json(options={})
click to toggle source
# File lib/elasticsearch/rails2/response/result.rb, line 55 def as_json(options={}) @result.as_json(options) end
id()
click to toggle source
Return document ‘_id` as `id`
# File lib/elasticsearch/rails2/response/result.rb, line 22 def id @result['_id'] end
method_missing(name, *arguments)
click to toggle source
Delegate methods to ‘@result` or `@result._source`
Calls superclass method
# File lib/elasticsearch/rails2/response/result.rb, line 34 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
respond_to?(method_name, include_private = false)
click to toggle source
Respond to methods from ‘@result` or `@result._source`
Calls superclass method
# File lib/elasticsearch/rails2/response/result.rb, line 49 def respond_to?(method_name, include_private = false) @result.respond_to?(method_name.to_sym) || \ @result._source && @result._source.respond_to?(method_name.to_sym) || \ super end
type()
click to toggle source
Return document ‘_type` as `_type`
# File lib/elasticsearch/rails2/response/result.rb, line 28 def type @result['_type'] end