class Bundler::CLI::Console

Attributes

group[R]
options[R]

Public Class Methods

new(options, group) click to toggle source
# File lib/bundler/cli/console.rb, line 6
def initialize(options, group)
  @options = options
  @group = group
end

Public Instance Methods

get_console(name) click to toggle source
# File lib/bundler/cli/console.rb, line 22
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/cli/console.rb, line 31
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
run() click to toggle source
# File lib/bundler/cli/console.rb, line 11
def run
  Bundler::SharedHelpers.major_deprecation 3, "bundle console will be replaced " \
                       "by `bin/console` generated by `bundle gem <name>`"

  group ? Bundler.require(:default, *(group.split.map!(&:to_sym))) : Bundler.require
  ARGV.clear

  console = get_console(Bundler.settings[:console] || "irb")
  console.start
end