class Bundler::CLI
Constants
- AUTO_INSTALL_CMDS
Public Class Methods
handle_no_command_error(command, has_namespace = $thor_runner)
click to toggle source
Calls superclass method
# File lib/bundler/cli.rb, line 73 def self.handle_no_command_error(command, has_namespace = $thor_runner) return super unless command_path = Bundler.which("bundler-#{command}") Kernel.exec(command_path, *ARGV[1..-1]) end
new(*args)
click to toggle source
Calls superclass method
Bundler::Thor::Actions.new
# File lib/bundler/cli.rb, line 16 def initialize(*args) super custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile] ENV['BUNDLE_GEMFILE'] = File.expand_path(custom_gemfile) if custom_gemfile Bundler.settings[:retry] = options[:retry] if options[:retry] current_cmd = args.last[:current_command].name auto_install if AUTO_INSTALL_CMDS.include?(current_cmd) rescue UnknownArgumentError => e raise InvalidOption, e.message ensure self.options ||= {} Bundler.ui = UI::Shell.new(options) Bundler.ui.level = "debug" if options["verbose"] end
source_root()
click to toggle source
# File lib/bundler/cli.rb, line 362 def self.source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates')) end
start(*)
click to toggle source
Calls superclass method
# File lib/bundler/cli.rb, line 9 def self.start(*) super rescue Exception => e Bundler.ui = UI::Shell.new raise e end
Public Instance Methods
binstubs(*gems)
click to toggle source
# File lib/bundler/cli.rb, line 214 def binstubs(*gems) require 'bundler/cli/binstubs' Binstubs.new(options, gems).run end
cache()
click to toggle source
# File lib/bundler/cli.rb, line 241 def cache require 'bundler/cli/cache' Cache.new(options).run end
check()
click to toggle source
# File lib/bundler/cli.rb, line 104 def check require 'bundler/cli/check' Check.new(options).run end
clean()
click to toggle source
# File lib/bundler/cli.rb, line 371 def clean require 'bundler/cli/clean' Clean.new(options.dup).run end
config(*args)
click to toggle source
# File lib/bundler/cli.rb, line 294 def config(*args) require 'bundler/cli/config' Config.new(options, args, self).run end
console(group = nil)
click to toggle source
# File lib/bundler/cli.rb, line 306 def console(group = nil) require 'bundler/cli/console' Console.new(options, group).run end
env()
click to toggle source
# File lib/bundler/cli.rb, line 405 def env Env.new.write($stdout) end
exec(*args)
click to toggle source
# File lib/bundler/cli.rb, line 277 def exec(*args) require 'bundler/cli/exec' Exec.new(options, args).run end
gem(name)
click to toggle source
# File lib/bundler/cli.rb, line 357 def gem(name) require 'bundler/cli/gem' Gem.new(options, name, self).run end
help(cli = nil)
click to toggle source
Calls superclass method
# File lib/bundler/cli.rb, line 43 def help(cli = nil) case cli when "gemfile" then command = "gemfile.5" when nil then command = "bundle" else command = "bundle-#{cli}" end manpages = %w( bundle bundle-config bundle-exec bundle-install bundle-package bundle-update bundle-platform gemfile.5) if manpages.include?(command) root = File.expand_path("../man", __FILE__) if Bundler.which("man") && root !~ %r{^file:/.+!/META-INF/jruby.home/.+} Kernel.exec "man #{root}/#{command}" else puts File.read("#{root}/#{command}.txt") end else super end end
init()
click to toggle source
# File lib/bundler/cli.rb, line 86 def init require 'bundler/cli/init' Init.new(options.dup).run end
inject(name, version, *gems)
click to toggle source
# File lib/bundler/cli.rb, line 385 def inject(name, version, *gems) require 'bundler/cli/inject' Inject.new(options, name, version, gems).run end
install()
click to toggle source
# File lib/bundler/cli.rb, line 160 def install require 'bundler/cli/install' Install.new(options.dup).run end
licenses()
click to toggle source
# File lib/bundler/cli.rb, line 318 def licenses Bundler.load.specs.sort_by { |s| s.license.to_s }.reverse.each do |s| gem_name = s.name license = s.license || s.licenses if license.empty? Bundler.ui.warn "#{gem_name}: Unknown" else Bundler.ui.info "#{gem_name}: #{license}" end end end
lock()
click to toggle source
# File lib/bundler/cli.rb, line 399 def lock require 'bundler/cli/lock' Lock.new(options).run end
open(name)
click to toggle source
# File lib/bundler/cli.rb, line 300 def open(name) require 'bundler/cli/open' Open.new(options, name).run end
outdated(*gems)
click to toggle source
# File lib/bundler/cli.rb, line 232 def outdated(*gems) require 'bundler/cli/outdated' Outdated.new(options, gems).run end
package()
click to toggle source
# File lib/bundler/cli.rb, line 263 def package require 'bundler/cli/package' Package.new(options).run end
platform()
click to toggle source
# File lib/bundler/cli.rb, line 379 def platform require 'bundler/cli/platform' Platform.new(options).run end
show(gem_name = nil)
click to toggle source
# File lib/bundler/cli.rb, line 199 def show(gem_name = nil) require 'bundler/cli/show' Show.new(options, gem_name).run end
update(*gems)
click to toggle source
# File lib/bundler/cli.rb, line 185 def update(*gems) require 'bundler/cli/update' Update.new(options, gems).run end
version()
click to toggle source
# File lib/bundler/cli.rb, line 312 def version Bundler.ui.info "Bundler version #{Bundler::VERSION}" end
viz()
click to toggle source
# File lib/bundler/cli.rb, line 342 def viz require 'bundler/cli/viz' Viz.new(options).run end
Private Instance Methods
auto_install()
click to toggle source
Automatically invoke `bundle install` and resume if Bundler#settings exists. This is set through config cmd `bundle config #auto_install 1`.
Note that this method `nil`s out the global Definition object, so it should be called first, before you instantiate anything like an `Installer` that'll keep a reference to the old one instead.
# File lib/bundler/cli.rb, line 418 def auto_install return unless Bundler.settings[:auto_install] begin Bundler.definition.specs rescue GemNotFound Bundler.ui.info "Automatically installing missing gems." Bundler.reset! invoke :install, [] Bundler.reset! end end