Class: Ardb::CLI::ConnectCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/ardb/cli.rb,
lib/ardb/cli.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv, stdout = nil, stderr = nil) ⇒ ConnectCommand

Returns a new instance of ConnectCommand.



104
105
106
107
108
109
110
111
# File 'lib/ardb/cli.rb', line 104

def initialize(argv, stdout = nil, stderr = nil)
  @argv   = argv
  @stdout = stdout || $stdout
  @stderr = stderr || $stderr

  @clirb   = Ardb::CLIRB.new
  @adapter = Ardb::Adapter.send(Ardb.config.db.adapter)
end

Instance Attribute Details

#clirbObject (readonly)

Returns the value of attribute clirb.



102
103
104
# File 'lib/ardb/cli.rb', line 102

def clirb
  @clirb
end

Instance Method Details

#helpObject



128
129
130
131
# File 'lib/ardb/cli.rb', line 128

def help
  "Usage: ardb connect [options]\n\n" \
  "Options: #{@clirb}"
end

#runObject



113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/ardb/cli.rb', line 113

def run
  @clirb.parse!(@argv)
  begin
    Ardb.init
    @adapter.connect_db
    @stdout.puts "connected to #{Ardb.config.db.adapter} db `#{Ardb.config.db.database}`"
  rescue StandardError => e
    @stderr.puts e
    @stderr.puts e.backtrace.join("\n")
    @stderr.puts "error connecting to #{Ardb.config.db.database.inspect} database " \
                 "with #{Ardb.config.db_settings.inspect}"
    raise CommandExitError
  end
end