Method: Gem::Commands::UninstallCommand#initialize

Defined in:
lib/rubygems/commands/uninstall_command.rb

#initializeUninstallCommand

Returns a new instance of UninstallCommand.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/rubygems/commands/uninstall_command.rb', line 16

def initialize
  super "uninstall", "Uninstall gems from the local repository",
        version: Gem::Requirement.default, user_install: true,
        check_dev: false, vendor: false

  add_option("-a", "--[no-]all",
    "Uninstall all matching versions") do |value, options|
    options[:all] = value
  end

  add_option("-I", "--[no-]ignore-dependencies",
             "Ignore dependency requirements while",
             "uninstalling") do |value, options|
    options[:ignore] = value
  end

  add_option("-D", "--[no-]check-development",
             "Check development dependencies while uninstalling",
             "(default: false)") do |value, options|
    options[:check_dev] = value
  end

  add_option("-x", "--[no-]executables",
               "Uninstall applicable executables without",
               "confirmation") do |value, options|
    options[:executables] = value
  end

  add_option("-i", "--install-dir DIR",
             "Directory to uninstall gem from") do |value, options|
    options[:install_dir] = File.expand_path(value)
  end

  add_option("-n", "--bindir DIR",
             "Directory to remove executables from") do |value, options|
    options[:bin_dir] = File.expand_path(value)
  end

  add_option("--[no-]user-install",
             "Uninstall from user's home directory",
             "in addition to GEM_HOME.") do |value, options|
    options[:user_install] = value
  end

  add_option("--[no-]format-executable",
             "Assume executable names match Ruby's prefix and suffix.") do |value, options|
    options[:format_executable] = value
  end

  add_option("--[no-]force",
             "Uninstall all versions of the named gems",
             "ignoring dependencies") do |value, options|
    options[:force] = value
  end

  add_option("--[no-]abort-on-dependent",
             "Prevent uninstalling gems that are",
             "depended on by other gems.") do |value, options|
    options[:abort_on_dependent] = value
  end

  add_version_option
  add_platform_option

  add_option("--vendor",
             "Uninstall gem from the vendor directory.",
             "Only for use by gem repackagers.") do |_value, options|
    unless Gem.vendor_dir
      raise Gem::OptionParser::InvalidOption.new "your platform is not supported"
    end

    alert_warning "Use your OS package manager to uninstall vendor gems"
    options[:vendor] = true
    options[:install_dir] = Gem.vendor_dir
  end
end