Class: ConsoleKit::Connections::MongoConnectionHandler

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

Overview

Handles MongoDB connections

Instance Attribute Summary

Attributes inherited from BaseConnectionHandler

#context

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

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


17
# File 'lib/console_kit/connections/mongo_connection_handler.rb', line 17

def available? = defined?(Mongoid)

#connectObject



9
10
11
12
13
14
15
# File 'lib/console_kit/connections/mongo_connection_handler.rb', line 9

def connect
  db = context_attribute(:tenant_mongo_db).presence
  Output.print_info(switch_message(db))
  Mongoid.override_database(db)
rescue NoMethodError
  Output.print_warning('Mongoid.override_database is not available in this version of Mongoid.')
end

#diagnosticsObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/console_kit/connections/mongo_connection_handler.rb', line 19

def diagnostics
  name = 'MongoDB'
  return unavailable_diagnostics(name) unless available?

  db = tenant_database
  latency = measure_latency { db.command(ping: 1) }
  build_mongo_diagnostics(db, latency)
rescue StandardError => e
  error_diagnostics(name, e)
end