Class: ConsoleKit::Connections::ElasticsearchConnectionHandler

Inherits:
BaseConnectionHandler show all
Defined in:
lib/console_kit/connections/elasticsearch_connection_handler.rb

Overview

Handles Elasticsearch connections

Instance Attribute Summary

Attributes inherited from BaseConnectionHandler

#context

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseConnectionHandler

#initialize, registry, #safe_diagnostics

Methods included from DiagnosticHelpers

clock_time, error_diagnostics, timeout_diagnostics

Constructor Details

This class inherits a constructor from ConsoleKit::Connections::BaseConnectionHandler

Class Method Details

.apply_prefix(prefix) ⇒ Object



19
20
21
22
23
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 19

def apply_prefix(prefix)
  return unless defined?(Elasticsearch::Model)

  Elasticsearch::Model.try(:index_name_prefix=, prefix)
end

.elasticsearch_available?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
15
16
17
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 10

def elasticsearch_available?
  return false unless defined?(Elasticsearch::Model)

  Elasticsearch::Model.method(:client)
  true
rescue NameError
  false
end

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


33
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 33

def available? = self.class.elasticsearch_available?

#connectObject



26
27
28
29
30
31
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 26

def connect
  prefix = context_attribute(:tenant_elasticsearch_prefix).presence
  Output.print_info(switch_message(prefix))
  Thread.current[:console_kit_elasticsearch_prefix] = prefix
  self.class.apply_prefix(prefix)
end

#diagnosticsObject



35
36
37
38
39
40
41
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 35

def diagnostics
  return unavailable_diagnostics('Elasticsearch') unless available?

  perform_diagnostics
rescue StandardError => e
  error_diagnostics('Elasticsearch', e)
end