Spec-Zone.ru › Homebrew

Класс: SystemCommand::Result Закрытый

Наследует:
Object
  • Object
  • SystemCommand::Result
показать всё
Подключает:
Context, Utils::Output::Mixin
Определён в:
system_command.rb

Обзор

Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.

Результат, содержащий вывод и статус завершения завершившегося подпроцесса.

Краткое описание атрибутов экземпляра свернуть

  • #command ⇒ Array<String> закрытый
  • #exit_status ⇒ Integer? закрытый
  • #status ⇒ Process::Status закрытый

Краткое описание методов экземпляра свернуть

  • #assert_success! ⇒ void закрытый
  • #initialize(command, output, status, secrets:) ⇒ void конструктор закрытый
  • #merged_output ⇒ String закрытый
  • #plist ⇒ T.untyped закрытый
  • #stderr ⇒ String закрытый
  • #stdout ⇒ String закрытый
  • #success? ⇒ Boolean закрытый
  • #to_ary ⇒ Array<(String, String, Process::Status)> (также: #to_a) закрытый

Методы, подключённые из Utils::Output::Mixin

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

Методы, подключённые из Context

current, current=, #debug?, #quiet?, #verbose?, #with_context

Подробное описание конструкторов

#initialize(command, output, status, secrets:) ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • command (Array<String>)
  • output (Array<Array<([String, Symbol], String)>>)
  • status (Process::Status)
  • secrets (Array<String>)


501
502
503
504
505
506
507
# File 'system_command.rb', line 501

def initialize(command, output, status, secrets:)
  @command       = command
  @output        = output
  @status        = status
  @exit_status   = T.let(status.exitstatus, T.nilable(Integer))
  @secrets       = secrets
end

Подробное описание атрибутов экземпляра

#command ⇒ Array<String>

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Array<String>)


485
486
487
# File 'system_command.rb', line 485

def command
  @command
end

#exit_status ⇒ Integer?

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Integer, nil)


491
492
493
# File 'system_command.rb', line 491

def exit_status
  @exit_status
end

#status ⇒ Process::Status

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Process::Status)


488
489
490
# File 'system_command.rb', line 488

def status
  @status
end

Подробное описание методов экземпляра

#assert_success! ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Вызывает исключение:

  • (ErrorDuringExecution)


510
511
512
513
514
# File 'system_command.rb', line 510

def assert_success!
  return if @status.success?

  raise ErrorDuringExecution.new(command, status: @status, output: @output, secrets: @secrets)
end

#merged_output ⇒ String

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


531
532
533
# File 'system_command.rb', line 531

def merged_output
  @merged_output ||= T.let(@output.map { |_, line| line }.join, T.nilable(String))
end

#plist ⇒ T.untyped

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (T.untyped)


549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
# File 'system_command.rb', line 549

def plist
  require "plist"
  @plist ||= T.let(begin
    output = stdout

    output = output.sub(/\A(.*?)(\s*<\?\s*xml)/m) do
      warn_plist_garbage(T.must(Regexp.last_match(1)))
      Regexp.last_match(2)
    end

    output = output.sub(%r{(<\s*/\s*plist\s*>\s*)(.*?)\Z}m) do
      warn_plist_garbage(T.must(Regexp.last_match(2)))
      Regexp.last_match(1)
    end

    Plist.parse_xml(output, marshal: false)
  end, T.untyped)
end

#stderr ⇒ String

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


524
525
526
527
528
# File 'system_command.rb', line 524

def stderr
  @stderr ||= T.let(@output.select { |type,| type == :stderr }
                           .map { |_, line| line }
                           .join, T.nilable(String))
end

#stdout ⇒ String

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


517
518
519
520
521
# File 'system_command.rb', line 517

def stdout
  @stdout ||= T.let(@output.select { |type,| type == :stdout }
                           .map { |_, line| line }
                           .join, T.nilable(String))
end

#success? ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


536
537
538
539
540
# File 'system_command.rb', line 536

def success?
  return false if @exit_status.nil?

  @exit_status.zero?
end

#to_ary ⇒ Array<(String, String, Process::Status)> Также называется: to_a

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Array<(String, String, Process::Status)>)


543
544
545
# File 'system_command.rb', line 543

def to_ary
  [stdout, stderr, status]
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/SystemCommand/Result.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API