class Bundler::CLI::Console
def get_console(name)
def get_console(name) require name get_constant(name) rescue LoadError if name == "irb" Bundler.ui.error "#{name} is not available" exit 1 else Bundler.ui.error "Couldn't load console #{name}, falling back to irb" name = "irb" retry end end
def get_constant(name)
def get_constant(name) const_name = { "pry" => :Pry, "ripl" => :Ripl, "irb" => :IRB, }[name] Object.const_get(const_name) 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!(&:to_sym)) : Bundler.require ARGV.clear console = get_console(Bundler.settings[:console] || "irb") console.start end