Класс: 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
Краткое описание методов экземпляра свернуть
- #cask_body(*args, &block) ⇒ T.untyped частный
- #cask_node ⇒ RuboCop::AST::BlockNode частный
- #header ⇒ CaskHeader частный
- #stanzas ⇒ Array<Stanza> частный
- #toplevel_stanzas ⇒ Array<Stanza> частный
Методы, унаследованные от StanzaBlock
Подробное описание конструкторов
Этот класс наследует конструктор от RuboCop::Cask::AST::StanzaBlock
Подробное описание методов экземпляра
#cask_body(*args, &block) ⇒ T.untyped
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку его могут удалить или изменить без предупреждения.
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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку его могут удалить или изменить без предупреждения.
53 54 55 | # File 'rubocops/cask/ast/cask_block.rb', line 53 def cask_node block_node end |
#header ⇒ CaskHeader
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку его могут удалить или изменить без предупреждения.
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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку его могут удалить или изменить без предупреждения.
По возможности используйте StanzaBlock#stanzas для всех cop-проверок.
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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку его могут удалить или изменить без предупреждения.
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