Class: Homebrew::Cmd::Bundle::AddSubcommand Private

Inherits:
AbstractSubcommand show all
Defined in:
bundle/subcommand/add.rb

This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.

Instance Attribute Summary

Attributes inherited from AbstractSubcommand

#args, #cleanup, #context, #quiet, #targets

Instance Method Summary collapse

Methods inherited from AbstractSubcommand

define, define_all, #initialize, subcommand_name, subcommands_for

Methods included from Utils::Output::Mixin

#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_outdated, #pretty_uninstalled, #pretty_upgradable

Constructor Details

This class inherits a constructor from Homebrew::AbstractSubcommand

Instance Method Details

#runvoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Raises:



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'bundle/subcommand/add.rb', line 38

def run
  selected_types = context.selected_types(args)
  raise UsageError, "`add` supports only one type of entry at a time." if selected_types.count != 1

  type = case (t = selected_types.first)
  when :none then :brew
  when :mas then raise UsageError, "`add` does not support `--mas`."
  else t
  end

  extension = Homebrew::Bundle.extension(type)
  if extension && !extension.add_supported?
    raise UsageError,
          "`add` does not support `--#{extension.flag}`."
  end

  Homebrew::Bundle::Adder.add(
    *args.named,
    type:,
    global:   context.global,
    file:     context.file,
    describe: args.describe?,
  )
end