class Bundler::CLI::Console

def get_console(name)

def get_console(name)
  require name
  get_constant(name)
rescue LoadError
  Bundler.ui.error "Couldn't load console #{name}"
  get_constant('irb')
end

def get_constant(name)

def get_constant(name)
  const_name = {
    'pry'  => :Pry,
    'ripl' => :Ripl,
    'irb'  => :IRB,
  }[name]
  Object.const_get(const_name)
rescue NameError
  Bundler.ui.error "Could not find constant #{const_name}"
  exit 1
end

def initialize(options, group)

def initialize(options, group)
  @options = options
  @group = group
end

def run

def run
  group ? Bundler.require(:default, *(group.split.map! {|g| g.to_sym })) : Bundler.require
  ARGV.clear
  console = get_console(Bundler.settings[:console] || 'irb')
  console.start
end