Class: RuboCop::AST::Node
Overview
Extensions for RuboCop’s AST Node class.
Constant Summary
Cask::Constants::ON_SYSTEM_METHODS, Cask::Constants::ON_SYSTEM_METHODS_STANZA_ORDER, Cask::Constants::STANZA_GROUPS, Cask::Constants::STANZA_GROUP_HASH, Cask::Constants::STANZA_ORDER
Instance Method Summary
collapse
Instance Method Details
#cask_on_system_block? ⇒ Boolean
25
26
27
|
# File 'rubocops/cask/extend/node.rb', line 25
def cask_on_system_block?
(on_system_block? && each_ancestor.any?(&:cask_block?)) || false
end
|
#heredoc? ⇒ Boolean
39
40
41
|
# File 'rubocops/cask/extend/node.rb', line 39
def heredoc?
loc.is_a?(Parser::Source::Map::Heredoc)
end
|
#location_expression ⇒ Object
43
44
45
46
47
48
|
# File 'rubocops/cask/extend/node.rb', line 43
def location_expression
base_expression = loc.expression
descendants.select(&:heredoc?).reduce(base_expression) do |expr, node|
expr.join(node.loc.heredoc_end)
end
end
|
#stanza? ⇒ Boolean
29
30
31
32
33
34
35
36
37
|
# File 'rubocops/cask/extend/node.rb', line 29
def stanza?
return true if arch_variable?
case self
when RuboCop::AST::BlockNode, RuboCop::AST::SendNode
ON_SYSTEM_METHODS.include?(method_name) || STANZA_ORDER.include?(method_name)
else false
end
end
|