Spec-Zone.ru › Homebrew

Класс: RuboCop::Cop::Cask::InstallSteps Private

Наследует:
Base
  • Object
  • Base
  • RuboCop::Cop::Cask::InstallSteps
показать все
Расширен с помощью:
AutoCorrector
Включает в себя:
CaskHelp, InstallStepsHelper
Определен в:
rubocops/cask/install_steps.rb

Обзор

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

Этот коп проверяет использование декларативных шагов установки (install steps).

Краткое описание констант свернуть

INSTALL_STEP_PAIRS =

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

T.let(
  {
    preflight:            :preflight_steps,
    postflight:           :postflight_steps,
    uninstall_preflight:  :uninstall_preflight_steps,
    uninstall_postflight: :uninstall_postflight_steps,
  }.freeze,
  T::Hash[Symbol, Symbol],
)

Константы, включенные из InstallStepsHelper

InstallStepsHelper::ALLOWED_STEP_ARGUMENT_NODE_TYPES, InstallStepsHelper::ALLOWED_STEP_METHODS, InstallStepsHelper::CASK_ALLOWED_STEP_METHODS, InstallStepsHelper::CONFIG_WRITE_STEP_METHODS, InstallStepsHelper::FILE_PREPARATION_STEP_METHODS, InstallStepsHelper::REBUILD_ACTION_STEP_LINES, InstallStepsHelper::REBUILD_ACTION_STEP_METHODS, InstallStepsHelper::SIMPLE_STEP_CONVERSION_MSG, InstallStepsHelper::STEP_BLOCK_MSG

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

  • #on_cask(cask_block) ⇒ void private

Методы, включенные из InstallStepsHelper

#install_step_block_offense_node, #install_steps_block_source, #simple_install_step_lines, #step_block_msg

Методы, включенные из CaskHelp

#cask_tap, #inner_stanzas, #on_block, #on_cask_stanza_block, #on_system_methods

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

#on_cask(cask_block) ⇒ void

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

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

Параметры:

  • cask_block (RuboCop::Cask::AST::CaskBlock)


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
# File 'rubocops/cask/install_steps.rb', line 26

def on_cask(cask_block)
  stanzas = cask_block.stanzas
  INSTALL_STEP_PAIRS.each do |flight_block, steps_block|
    next unless (flight_stanza = stanzas.find { |stanza| stanza.stanza_name == flight_block })

    steps_stanza = stanzas.find { |stanza| stanza.stanza_name == steps_block }

    if steps_stanza
      add_offense(steps_stanza.source_range,
                  message: "`#{flight_stanza.stanza_name}` and `#{steps_block}` cannot both be used.")
    else
      audit_flight_block(flight_stanza, steps_block)
    end
  end

  stanzas.each do |stanza|
    next unless INSTALL_STEP_PAIRS.value?(stanza.stanza_name)
    next unless stanza.method_node.block_type?
    next unless (offense_node = install_step_block_offense_node(
      T.cast(stanza.method_node, RuboCop::AST::BlockNode),
      allowed_methods: CASK_ALLOWED_STEP_METHODS,
    ))

    add_offense(offense_node, message: step_block_msg(CASK_ALLOWED_STEP_METHODS))
  end
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/Cask/InstallSteps.html

Spec-Zone.ru

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