Class: Bundler::CLI
Defined Under Namespace
Modules: Common
Classes: Binstubs, Cache, Check, Clean, Config, Console, Exec, Gem, Init, Inject, Install, Lock, Open, Outdated, Package, Platform, Show, Update, Viz
Constant Summary
collapse
- AUTO_INSTALL_CMDS =
%w[show binstubs outdated exec open console licenses clean]
Constants inherited
from Thor
Thor::AmbiguousTaskError, Thor::DynamicTask, Thor::HELP_MAPPINGS, Thor::HiddenTask, Thor::TEMPLATE_EXTNAME, Thor::THOR_RESERVED_WORDS, Thor::Task, Thor::UndefinedTaskError, Thor::VERSION
Instance Attribute Summary
#behavior
Attributes included from Thor::Base
#args, #options, #parent_options
Class Method Summary
collapse
Instance Method Summary
collapse
#action, #append_to_file, #apply, #chmod, #comment_lines, #copy_file, #create_file, #create_link, #destination_root, #destination_root=, #directory, #empty_directory, #find_in_source_paths, #get, #gsub_file, #in_root, included, #inject_into_class, #insert_into_file, #inside, #link_file, #prepend_to_file, #relative_to_original_destination_root, #remove_file, #run, #run_ruby_script, #source_paths, #template, #thor, #uncomment_lines
Methods inherited from Thor
check_unknown_options!, check_unknown_options?, command_help, default_command, desc, help, long_desc, map, method_option, method_options, package_name, printable_commands, register, stop_on_unknown_option!, stop_on_unknown_option?, subcommand, subcommand_classes, subcommands
Methods included from Thor::Base
included, register_klass_file, subclass_files, subclasses
Constructor Details
#initialize(*args) ⇒ CLI
Returns a new instance of CLI.
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 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
|
Class Method Details
.handle_no_command_error(command, has_namespace = $thor_runner) ⇒ Object
73
74
75
76
77
|
# 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
|
.source_root ⇒ Object
362
363
364
|
# File 'lib/bundler/cli.rb', line 362
def self.source_root
File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end
|
.start ⇒ Object
9
10
11
12
13
14
|
# File 'lib/bundler/cli.rb', line 9
def self.start(*)
super
rescue Exception => e
Bundler.ui = UI::Shell.new
raise e
end
|
Instance Method Details
#binstubs(*gems) ⇒ Object
214
215
216
217
|
# File 'lib/bundler/cli.rb', line 214
def binstubs(*gems)
require 'bundler/cli/binstubs'
Binstubs.new(options, gems).run
end
|
#cache ⇒ Object
241
242
243
244
|
# File 'lib/bundler/cli.rb', line 241
def cache
require 'bundler/cli/cache'
Cache.new(options).run
end
|
#check ⇒ Object
104
105
106
107
|
# File 'lib/bundler/cli.rb', line 104
def check
require 'bundler/cli/check'
Check.new(options).run
end
|
#clean ⇒ Object
371
372
373
374
|
# File 'lib/bundler/cli.rb', line 371
def clean
require 'bundler/cli/clean'
Clean.new(options.dup).run
end
|
#config(*args) ⇒ Object
294
295
296
297
|
# File 'lib/bundler/cli.rb', line 294
def config(*args)
require 'bundler/cli/config'
Config.new(options, args, self).run
end
|
#console(group = nil) ⇒ Object
306
307
308
309
|
# File 'lib/bundler/cli.rb', line 306
def console(group = nil)
require 'bundler/cli/console'
Console.new(options, group).run
end
|
#env ⇒ Object
405
406
407
|
# File 'lib/bundler/cli.rb', line 405
def env
Env.new.write($stdout)
end
|
#exec(*args) ⇒ Object
277
278
279
280
|
# File 'lib/bundler/cli.rb', line 277
def exec(*args)
require 'bundler/cli/exec'
Exec.new(options, args).run
end
|
#gem(name) ⇒ Object
357
358
359
360
|
# File 'lib/bundler/cli.rb', line 357
def gem(name)
require 'bundler/cli/gem'
Gem.new(options, name, self).run
end
|
#help(cli = nil) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# 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 ⇒ Object
86
87
88
89
|
# File 'lib/bundler/cli.rb', line 86
def init
require 'bundler/cli/init'
Init.new(options.dup).run
end
|
#inject(name, version, *gems) ⇒ Object
385
386
387
388
|
# 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 ⇒ Object
160
161
162
163
|
# File 'lib/bundler/cli.rb', line 160
def install
require 'bundler/cli/install'
Install.new(options.dup).run
end
|
#licenses ⇒ Object
318
319
320
321
322
323
324
325
326
327
328
329
|
# 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 ⇒ Object
399
400
401
402
|
# File 'lib/bundler/cli.rb', line 399
def lock
require 'bundler/cli/lock'
Lock.new(options).run
end
|
#open(name) ⇒ Object
300
301
302
303
|
# File 'lib/bundler/cli.rb', line 300
def open(name)
require 'bundler/cli/open'
Open.new(options, name).run
end
|
#outdated(*gems) ⇒ Object
232
233
234
235
|
# File 'lib/bundler/cli.rb', line 232
def outdated(*gems)
require 'bundler/cli/outdated'
Outdated.new(options, gems).run
end
|
#package ⇒ Object
263
264
265
266
|
# File 'lib/bundler/cli.rb', line 263
def package
require 'bundler/cli/package'
Package.new(options).run
end
|
379
380
381
382
|
# File 'lib/bundler/cli.rb', line 379
def platform
require 'bundler/cli/platform'
Platform.new(options).run
end
|
#show(gem_name = nil) ⇒ Object
199
200
201
202
|
# 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) ⇒ Object
185
186
187
188
|
# File 'lib/bundler/cli.rb', line 185
def update(*gems)
require 'bundler/cli/update'
Update.new(options, gems).run
end
|
#version ⇒ Object
312
313
314
|
# File 'lib/bundler/cli.rb', line 312
def version
Bundler.ui.info "Bundler version #{Bundler::VERSION}"
end
|
#viz ⇒ Object
342
343
344
345
|
# File 'lib/bundler/cli.rb', line 342
def viz
require 'bundler/cli/viz'
Viz.new(options).run
end
|