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