Method: Bundler::CLI#initialize

Defined in:
lib/bundler/cli.rb

#initialize(*args) ⇒ CLI

Returns a new instance of CLI.


59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/bundler/cli.rb', line 59

def initialize(*args)
  super

  custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile]
  if custom_gemfile && !custom_gemfile.empty?
    Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", File.expand_path(custom_gemfile)
    Bundler.reset_settings_and_root!
  end

  Bundler.auto_switch

  Bundler.settings.set_command_option_if_given :retry, options[:retry]

  current_cmd = args.last[:current_command].name
  Bundler.auto_install if AUTO_INSTALL_CMDS.include?(current_cmd)
rescue UnknownArgumentError => e
  raise InvalidOption, e.message
ensure
  self.options ||= {}
  unprinted_warnings = Bundler.ui.unprinted_warnings
  Bundler.ui = UI::Shell.new(options)
  Bundler.ui.level = "debug" if options["verbose"]
  unprinted_warnings.each {|w| Bundler.ui.warn(w) }
end