Spec-Zone.ru › Homebrew

Класс: RuboCop::Cask::AST::CaskBlock Частный

Наследует:
StanzaBlock
  • Object
  • StanzaBlock
  • RuboCop::Cask::AST::CaskBlock
показать все
Расширен модулем:
Forwardable
Определён в:
rubocops/cask/ast/cask_block.rb,
sorbet/rbi/dsl/rubo_cop/cask/ast/cask_block.rbi

Обзор

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

Этот класс оборачивает узел блока AST, представляющий определение cask целиком. Он включает различные вспомогательные методы, помогающие cop-проверкам выполнять анализ.

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

Атрибуты, унаследованные от StanzaBlock

#block_node, #comments

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

  • #cask_body(*args, &block) ⇒ T.untyped частный
  • #cask_node ⇒ RuboCop::AST::BlockNode частный
  • #header ⇒ CaskHeader частный
  • #stanzas ⇒ Array<Stanza> частный
  • #toplevel_stanzas ⇒ Array<Stanza> частный

Методы, унаследованные от StanzaBlock

#initialize

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

Этот класс наследует конструктор от RuboCop::Cask::AST::StanzaBlock

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

#cask_body(*args, &block) ⇒ T.untyped

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

Параметры:

  • args (T.untyped)
  • block (T.untyped)

Возвращает:

  • (T.untyped)


10
# File 'sorbet/rbi/dsl/rubo_cop/cask/ast/cask_block.rbi', line 10

def cask_body(*args, &block); end

#cask_node ⇒ RuboCop::AST::BlockNode

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

Возвращает:

  • (RuboCop::AST::BlockNode)


53
54
55
# File 'rubocops/cask/ast/cask_block.rb', line 53

def cask_node
  block_node
end

#header ⇒ CaskHeader

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

Возвращает:

  • (CaskHeader)


60
61
62
# File 'rubocops/cask/ast/cask_block.rb', line 60

def header
  @header ||= T.let(CaskHeader.new(block_node.method_node), T.nilable(CaskHeader))
end

#stanzas ⇒ Array<Stanza>

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

TODO:

По возможности используйте StanzaBlock#stanzas для всех cop-проверок.

Возвращает:

  • (Array<Stanza>)


66
67
68
69
70
71
72
# File 'rubocops/cask/ast/cask_block.rb', line 66

def stanzas
  return [] unless cask_body

  @stanzas ||= cask_body.each_node
                        .select(&:stanza?)
                        .map { |node| Stanza.new(node, comments) }
end

#toplevel_stanzas ⇒ Array<Stanza>

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

Возвращает:

  • (Array<Stanza>)


75
76
77
78
79
80
81
82
83
84
85
# File 'rubocops/cask/ast/cask_block.rb', line 75

def toplevel_stanzas
  # If a `cask` block only contains one stanza, it is that stanza's direct parent,
  # otherwise stanzas are grouped in a block and `cask` is that block's parent.
  is_toplevel_stanza = if cask_body.begin_block?
    ->(stanza) { stanza.parent_node.parent.cask_block? }
  else
    ->(stanza) { stanza.parent_node.cask_block? }
  end

  @toplevel_stanzas ||= T.let(stanzas.select(&is_toplevel_stanza), T.nilable(T::Array[Stanza]))
end

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

Spec-Zone.ru

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