Sha256: b0947d9846880e3333ebce92a336d4c0bf29ddd68a5f99ab8c4bc8d0fbde26a3

Contents?: true

Size: 684 Bytes

Versions: 4

Compression:

Stored size: 684 Bytes

Contents

module Elastics
  class Result
    module Search

      # extend if result comes from a search url
      def self.should_extend?(result)
        result.response.url =~ /\b_m?search\b/ && result['hits']
      end

      # extend the hits results on extended
      def self.extended(result)
        result['hits']['hits'].each { |h| h.extend(Document) }
        result['hits']['hits'].extend Struct::Paginable
        result['hits']['hits'].setup(result['hits']['total'], result.variables)
      end

      def collection
        self['hits']['hits']
      end
      alias_method :documents, :collection

      def aggregations
        self['aggregations']
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
elastics-client-1.3.3 lib/elastics/result/search.rb
elastics-client-1.3.2 lib/elastics/result/search.rb
elastics-client-1.3.1 lib/elastics/result/search.rb
elastics-client-1.3.0 lib/elastics/result/search.rb