Class: Ardb::CLI::ConnectCommand

Inherits:
Object
  • Object
show all
Includes:
ValidCommand
Defined in:
lib/ardb/cli/commands.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.command_nameObject



87
88
89
# File 'lib/ardb/cli/commands.rb', line 87

def self.command_name
  "connect"
end

.command_summaryObject



91
92
93
# File 'lib/ardb/cli/commands.rb', line 91

def self.command_summary
  "Connect to the configured DB"
end

Instance Method Details

#run(argv, *args) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/ardb/cli/commands.rb', line 95

def run(argv, *args)
  super

  begin
    Ardb.init(false)
    Ardb.adapter.connect_db
    @stdout.puts(
      "connected to #{Ardb.config.adapter} "\
      "db #{Ardb.config.database.inspect}",
    )
  rescue ActiveRecord::NoDatabaseError
    @stderr.puts(
      "error: database #{Ardb.config.database.inspect} does not exist",
    )
  rescue => ex
    @stderr.puts ex
    @stderr.puts ex.backtrace.join("\n")
    @stderr.puts(
      "error connecting to #{Ardb.config.database.inspect} database " \
      "with #{Ardb.config.activerecord_connect_hash.inspect}",
    )
    raise CommandExitError
  end
end