class Bundler::Console::Command

Public Instance Methods

exec(_name, args) click to toggle source
# File lib/bundler/console.rb, line 26
def exec(_name, args)
  if args.any?
    Bundler.require(:default, *args.map!(&:to_sym))
  else
    Bundler.require
  end

  ARGV.clear
  get_console(Bundler.settings[:console] || 'irb').start
end

Private Instance Methods

get_console(name) click to toggle source
# File lib/bundler/console.rb, line 39
def get_console(name)
  require name
  get_constant(name)
rescue LoadError
  Bundler.ui.error("Couldn't load console #{name}, falling back to irb")
  require 'irb'
  get_constant('irb')
end
get_constant(name) click to toggle source
# File lib/bundler/console.rb, line 48
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