class ElasticSearch::AbstractClient

Constants

DEFAULTS

Public Class Methods

new(servers_or_url, options={}) click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 10
def initialize(servers_or_url, options={})
  @options = DEFAULTS.merge(options)
  @server_list, @default_index, @default_type = extract_server_list_and_defaults(servers_or_url)
  @current_server = @server_list.first
end

Public Instance Methods

connect!() click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 39
def connect!
  @connection = @options[:transport].new(@current_server, @options)
  @connection.connect!
end
current_server() click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 27
def current_server
  @current_server
end
disconnect!() click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 44
def disconnect!
  @connection.close rescue nil
  @connection = nil
  @current_server = nil
end
execute(method_name, *args) click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 50
def execute(method_name, *args)
  connect! unless @connection
  @connection.send(method_name, *args)
end
extract_server_list_and_defaults(servers_or_url) click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 16
def extract_server_list_and_defaults(servers_or_url)
  default_index = default_type = nil
  servers = Array(servers_or_url).collect do |server|
    uri = URI.parse(server)
    _, default_index, default_type = uri.path.split("/")
    uri.path = "" # is this expected behavior of URI? may be dangerous to rely on
    uri.to_s
  end
  [servers, default_index, default_type]
end
inspect() click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 35
def inspect
  "<#{self.class} @current_server=#{@current_server} @server_list=#{@server_list.inspect} @options=#{@options.inspect}>"
end
servers() click to toggle source
# File lib/elasticsearch/client/abstract_client.rb, line 31
def servers
  @server_list
end