Sha256: ac7726b6840a7f21281dba89817117772fdda187c53f335c45e11279fd914c8b

Contents?: true

Size: 1018 Bytes

Versions: 2

Compression:

Stored size: 1018 Bytes

Contents

module Esearch
  # Driver for specific index
  class Index
    include Adamantium::Flat, Concord.new(:connection, :name)
    include Mixin::Exist, Mixin::Search, Mixin::Index

    # Return connection
    #
    # @return [Connection]
    #
    # @api private
    #
    attr_reader :connection

    # Cretate remote index
    #
    # @param [Hash] settings
    #
    # @return [Presenter::Index::Create]
    #
    # @api private
    #
    def create(settings)
      Command::Index::Create.run(self, settings)
    end

    # Delete remote index
    #
    # @return [Presenter::Index::Delete]
    #
    # @api private
    #
    def delete
      Command::Index::Delete.run(self)
    end

    # Return type for index
    #
    # @param [String] name
    #
    # @return [Type]
    #
    # @api private
    #
    def type(name)
      Type.new(self, name)
    end

    # Return path
    #
    # @return [Pathname]
    #
    # @api private
    #
    def path
      Pathname.new("/#{name}")
    end
    memoize :path

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
esearch-0.2.1 lib/esearch/index.rb
esearch-0.2.0 lib/esearch/index.rb