Sha256: b735c3bf3f59f2f86f9aa5528ed43250ddc4ab24b2b7207ba3e3b0d8ddf8a76b

Contents?: true

Size: 1.56 KB

Versions: 24

Compression:

Stored size: 1.56 KB

Contents

module Elasticsearch
  module Model

    # Contains an `Elasticsearch::Client` instance
    #
    module Client

      module ClassMethods

        # Get the client for a specific model class
        #
        # @example Get the client for `Article` and perform API request
        #
        #     Article.client.cluster.health
        #     # => { "cluster_name" => "elasticsearch" ... }
        #
        def client client=nil
          @client ||= Elasticsearch::Model.client
        end

        # Set the client for a specific model class
        #
        # @example Configure the client for the `Article` model
        #
        #     Article.client = Elasticsearch::Client.new host: 'http://api.server:8080'
        #     Article.search ...
        #
        def client=(client)
          @client = client
        end
      end

      module InstanceMethods

        # Get or set the client for a specific model instance
        #
        # @example Get the client for a specific record and perform API request
        #
        #     @article = Article.first
        #     @article.client.info
        #     # => { "name" => "Node-1", ... }
        #
        def client
          @client ||= self.class.client
        end

        # Set the client for a specific model instance
        #
        # @example Set the client for a specific record
        #
        #     @article = Article.first
        #     @article.client = Elasticsearch::Client.new host: 'http://api.server:8080'
        #
        def client=(client)
          @client = client
        end
      end

    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
elasticsearch-model-queryable-0.1.9 lib/elasticsearch/model/client.rb
elasticsearch-model-6.1.2 lib/elasticsearch/model/client.rb
elasticsearch-model-queryable-0.1.5 lib/elasticsearch/model/client.rb
elasticsearch-model-6.1.1 lib/elasticsearch/model/client.rb
elasticsearch-model-6.1.0 lib/elasticsearch/model/client.rb
elasticsearch-model-6.0.0 lib/elasticsearch/model/client.rb
elasticsearch-model-6.0.0.pre lib/elasticsearch/model/client.rb
elasticsearch-model-5.1.0 lib/elasticsearch/model/client.rb
elasticsearch-model-5.0.2 lib/elasticsearch/model/client.rb
elasticsearch-model-2.0.1 lib/elasticsearch/model/client.rb
elasticsearch-model-5.0.1 lib/elasticsearch/model/client.rb
elasticsearch-model-2.0.0 lib/elasticsearch/model/client.rb
elasticsearch-model-5.0.0 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.9 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.8 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.7 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.6 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.5 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.4 lib/elasticsearch/model/client.rb
elasticsearch-model-0.1.3 lib/elasticsearch/model/client.rb