Класс: Homebrew::CLI::Args Приватный
- Наследует:
- Object
- Object
- Homebrew::CLI::Args
- Определён в:
- cli/args.rbi,
cli/args.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот класс, поскольку он может быть удалён или изменён без предупреждения.
Этот файл содержит глобальные аргументы, определённые в Homebrew::CLI::Parser.global_options Аргументы, специфичные для Command, определяются в самих командах; их сигнатуры типов генерируются компилятором Tapioca::Compilers::Args.
Непосредственные известные подклассы
Homebrew::Cmd::Alias::Args, Homebrew::Cmd::Analytics::Args, Homebrew::Cmd::AsConsoleUser::Args, Homebrew::Cmd::Autoremove::Args, Homebrew::Cmd::Bundle::Args, Homebrew::Cmd::Cache::Args, Homebrew::Cmd::Caskroom::Args, Homebrew::Cmd::Casks::Args, Homebrew::Cmd::Cellar::Args, Homebrew::Cmd::CleanupCmd::Args, Homebrew::Cmd::Command::Args, Homebrew::Cmd::CommandNotFoundInit::Args, Homebrew::Cmd::CommandsCmd::Args, Homebrew::Cmd::CompletionsCmd::Args, Homebrew::Cmd::Config::Args, Homebrew::Cmd::Deps::Args, Homebrew::Cmd::Desc::Args, Homebrew::Cmd::Developer::Args, Homebrew::Cmd::Docs::Args, Homebrew::Cmd::Doctor::Args, Homebrew::Cmd::Env::Args, Homebrew::Cmd::Exec::Args, Homebrew::Cmd::FetchCmd::Args, Homebrew::Cmd::Formulae::Args, Homebrew::Cmd::GistLogs::Args, Homebrew::Cmd::HelpCmd::Args, Homebrew::Cmd::Home::Args, Homebrew::Cmd::Info::Args, Homebrew::Cmd::InstallCmd::Args, Homebrew::Cmd::Leaves::Args, Homebrew::Cmd::Link::Args, Homebrew::Cmd::List::Args, Homebrew::Cmd::Log::Args, Homebrew::Cmd::McpServerCmd::Args, Homebrew::Cmd::Migrate::Args, Homebrew::Cmd::Missing::Args, Homebrew::Cmd::NodenvSync::Args, Homebrew::Cmd::OptionsCmd::Args, Homebrew::Cmd::Outdated::Args, Homebrew::Cmd::Pin::Args, Homebrew::Cmd::Postinstall::Args, Homebrew::Cmd::Prefix::Args, Homebrew::Cmd::PyenvSync::Args, Homebrew::Cmd::RbenvSync::Args, Homebrew::Cmd::ReadallCmd::Args, Homebrew::Cmd::Reinstall::Args, Homebrew::Cmd::Repository::Args, Homebrew::Cmd::SandboxExec::Args, Homebrew::Cmd::SearchCmd::Args, Homebrew::Cmd::Services::Args, Homebrew::Cmd::SetupRuby::Args, Homebrew::Cmd::SetupSandbox::Args, Homebrew::Cmd::Shellenv::Args, Homebrew::Cmd::Source::Args, Homebrew::Cmd::TabCmd::Args, Homebrew::Cmd::TapCmd::Args, Homebrew::Cmd::TapInfo::Args, Homebrew::Cmd::Taps::Args, Homebrew::Cmd::TestBotCmd::Args, Homebrew::Cmd::Trust::Args, Homebrew::Cmd::Unalias::Args, Homebrew::Cmd::UninstallCmd::Args, Homebrew::Cmd::UnlinkCmd::Args, Homebrew::Cmd::Unpin::Args, Homebrew::Cmd::Untap::Args, Homebrew::Cmd::Untrust::Args, Homebrew::Cmd::Update::Args, Homebrew::Cmd::UpdateIfNeeded::Args, Homebrew::Cmd::UpdateReport::Args, Homebrew::Cmd::UpdateReset::Args, Homebrew::Cmd::UpgradeCmd::Args, Homebrew::Cmd::Uses::Args, Homebrew::Cmd::VendorInstall::Args, Homebrew::Cmd::Version::Args, Homebrew::Cmd::VersionInstall::Args, Homebrew::Cmd::WhichFormula::Args, DevCmd::Audit::Args, DevCmd::Bottle::Args, DevCmd::Bump::Args, DevCmd::BumpCaskPr::Args, DevCmd::BumpCompatibilityVersion::Args, DevCmd::BumpFormulaPr::Args, DevCmd::BumpRevision::Args, DevCmd::BumpUnversionedCasks::Args, DevCmd::Cat::Args, DevCmd::Contributions::Args, DevCmd::Create::Args, DevCmd::Debugger::Args, DevCmd::DetermineTestRunners::Args, DevCmd::DispatchBuildBottle::Args, DevCmd::Edit::Args, DevCmd::Extract::Args, DevCmd::FormulaAnalytics::Args, DevCmd::FormulaCmd::Args, DevCmd::GenerateAnalyticsApi::Args, DevCmd::GenerateCaskApi::Args, DevCmd::GenerateCaskCiMatrix::Args, DevCmd::GenerateFormulaApi::Args, DevCmd::GenerateInternalApi::Args, DevCmd::GenerateManCompletions::Args, DevCmd::GenerateZap::Args, DevCmd::InstallBundlerGems::Args, DevCmd::Irb::Args, DevCmd::Lgtm::Args, DevCmd::Linkage::Args, DevCmd::LivecheckCmd::Args, DevCmd::PrAutomerge::Args,
DevCmd::PrPublish::Args, DevCmd::PrPull::Args, DevCmd::PrUpload::Args, DevCmd::Prof::Args, DevCmd::Release::Args, DevCmd::Rubocop::Args, DevCmd::Ruby::Args, DevCmd::Rubydoc::Args, DevCmd::Sh::Args, DevCmd::StyleCmd::Args, DevCmd::TapNew::Args, DevCmd::Test::Args, DevCmd::Tests::Args, DevCmd::Typecheck::Args, DevCmd::Unbottled::Args, DevCmd::Unpack::Args, DevCmd::UpdateLicenseData::Args, DevCmd::UpdateMaintainers::Args, DevCmd::UpdatePerlResources::Args, DevCmd::UpdatePortableRuby::Args, DevCmd::UpdatePythonResources::Args, DevCmd::UpdateSponsors::Args, DevCmd::UpdateTest::Args, DevCmd::VendorGems::Args, DevCmd::Verify::Args, DevCmd::WhichUpdate::Args
Краткое описание констант свернуть
- OptionsType =
Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
Представляет обработанную опцию. Элементы массива:
0: short option name (e.g. "-d") 1: long option name (e.g. "--debug") 2: option description (e.g. "Print debugging information") 3: whether the option is hidden T.type_alias { T::Array[[T.nilable(String), T.nilable(String), String, T::Boolean]] }
Краткое описание атрибутов экземпляра свернуть
- #flags_only ⇒ Array<String> только для чтения приватный
- #options_only ⇒ Array<String> только для чтения приватный
- #remaining ⇒ Array<String> только для чтения приватный
Краткое описание методов экземпляра свернуть
- #build_from_source_formulae ⇒ Array<String> приватный
- #context ⇒ Context::ContextStruct приватный
- #debug? ⇒ Boolean приватный
- #freeze_named_args!(named_args, cask_options:, without_api:) ⇒ void приватный
- #freeze_processed_options!(processed_options) ⇒ void приватный
- #freeze_remaining_args!(remaining_args) ⇒ void приватный
- #help? ⇒ Boolean приватный
- #include_test_formulae ⇒ Array<String> приватный
- #initialize ⇒ void конструктор приватный
- #named ⇒ NamedArgs приватный
- #no_named? ⇒ Boolean приватный
- #only_formula_or_cask ⇒ Symbol? приватный
- #os_arch_combinations ⇒ Array<Array<(Symbol, Symbol)>> приватный
- #quiet? ⇒ Boolean приватный
- #set_arg(name, value) ⇒ void приватный
- #tap(&_blk) ⇒ T.untyped приватный
- #value(name) ⇒ String? приватный
- #verbose? ⇒ Boolean приватный
Подробное описание конструкторов
#initialize ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # File 'cli/args.rb', line 18 def initialize require "cli/named_args" @cli_args = T.let(nil, T.nilable(T::Array[String])) @processed_options = T.let([], OptionsType) @options_only = T.let([], T::Array[String]) @flags_only = T.let([], T::Array[String]) @cask_options = T.let(false, T::Boolean) @table = T.let({}, T::Hash[Symbol, T.untyped]) # Can set these because they will be overwritten by freeze_named_args! # (whereas other values below will only be overwritten if passed). @named = T.let(NamedArgs.new(parent: self), T.nilable(NamedArgs)) @remaining = T.let([], T::Array[String]) end |
Подробное описание атрибутов экземпляра
#flags_only ⇒ Array<String> (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 | # File 'cli/args.rb', line 15 def flags_only @flags_only end |
#options_only ⇒ Array<String> (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 | # File 'cli/args.rb', line 15 def @options_only end |
#remaining ⇒ Array<String> (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 | # File 'cli/args.rb', line 15 def remaining @remaining end |
Подробное описание методов экземпляра
#build_from_source_formulae ⇒ Array<String>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
87 88 89 90 91 92 93 | # File 'cli/args.rb', line 87 def build_from_source_formulae if @table[:build_from_source?] || @table[:HEAD?] || @table[:build_bottle?] named.to_formulae.map(&:full_name) else [] end end |
#context ⇒ Context::ContextStruct
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
114 115 116 | # File 'cli/args.rb', line 114 def context Context::ContextStruct.new(debug: debug?, quiet: quiet?, verbose: verbose?) end |
#debug? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
9 | # File 'cli/args.rbi', line 9 def debug?; end |
#freeze_named_args!(named_args, cask_options:, without_api:) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 | # File 'cli/args.rb', line 38 def freeze_named_args!(named_args, cask_options:, without_api:) @named = T.let( NamedArgs.new( *named_args.freeze, cask_options:, flags: flags_only, force_bottle: @table[:force_bottle?] || false, override_spec: @table[:HEAD?] ? :head : nil, parent: self, without_api:, ), T.nilable(NamedArgs), ) end |
#freeze_processed_options!(processed_options) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
66 67 68 69 70 71 72 73 74 75 | # File 'cli/args.rb', line 66 def () # Reset cache values reliant on processed_options @cli_args = nil @processed_options += @processed_options.freeze @options_only = cli_args.select { it.start_with?("-") }.freeze @flags_only = cli_args.select { it.start_with?("--") }.freeze end |
#freeze_remaining_args!(remaining_args) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
35 | # File 'cli/args.rb', line 35 def freeze_remaining_args!(remaining_args) = @remaining.replace(remaining_args).freeze |
#help? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
12 | # File 'cli/args.rbi', line 12 def help?; end |
#include_test_formulae ⇒ Array<String>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
96 97 98 99 100 101 102 | # File 'cli/args.rb', line 96 def include_test_formulae if @table[:include_test?] named.to_formulae.map(&:full_name) else [] end end |
#named ⇒ NamedArgs
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
78 79 80 81 | # File 'cli/args.rb', line 78 def named require "formula" T.must(@named) end |
#no_named? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
84 | # File 'cli/args.rb', line 84 def no_named? = named.empty? |
#only_formula_or_cask ⇒ Symbol?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
119 120 121 122 123 124 125 | # File 'cli/args.rb', line 119 def only_formula_or_cask if @table[:formula?] && !@table[:cask?] :formula elsif @table[:cask?] && !@table[:formula?] :cask end end |
#os_arch_combinations ⇒ Array<Array<(Symbol, Symbol)>>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | # File 'cli/args.rb', line 128 def os_arch_combinations skip_invalid_combinations = false # `--all-platforms` is equivalent to `--os=all --arch=all`. all_platforms = @table[:all_platforms?] os_sym = all_platforms ? :all : @table[:os]&.to_sym oses = case os_sym when nil [SimulateSystem.current_os] when :all skip_invalid_combinations = true OnSystem::ALL_OS_OPTIONS else [os_sym] end arch_sym = all_platforms ? :all : @table[:arch]&.to_sym arches = case arch_sym when nil [SimulateSystem.current_arch] when :all skip_invalid_combinations = true OnSystem::ARCH_OPTIONS else [arch_sym] end oses.product(arches).select do |os, arch| if skip_invalid_combinations bottle_tag = Utils::Bottles::Tag.new(system: os, arch:) bottle_tag.valid_combination? else true end end end |
#quiet? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 | # File 'cli/args.rbi', line 15 def quiet?; end |
#set_arg(name, value) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
54 55 56 | # File 'cli/args.rb', line 54 def set_arg(name, value) @table[name] = value end |
#tap(&_blk) ⇒ T.untyped
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
59 60 61 62 63 | # File 'cli/args.rb', line 59 def tap(&_blk) return super if block_given? # Object#tap @table[:tap] end |
#value(name) ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
105 106 107 108 109 110 111 | # File 'cli/args.rb', line 105 def value(name) arg_prefix = "--#{name}=" flag_with_value = flags_only.find { |arg| arg.start_with?(arg_prefix) } return unless flag_with_value flag_with_value.delete_prefix(arg_prefix) end |
#verbose? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
18 | # File 'cli/args.rbi', line 18 def verbose?; end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Homebrew/CLI/Args.html