Class: RuboCop::AST::Node
- Inherits:
-
Object
- Object
- RuboCop::AST::Node
show all
- Includes:
- Cask::Constants
- Defined in:
- lib/rubocop/cask/extend/node.rb
Overview
Extensions for RuboCop’s AST Node class
Constant Summary
Cask::Constants::CASK_METHOD_NAMES, Cask::Constants::STANZA_GROUPS, Cask::Constants::STANZA_GROUP_HASH, Cask::Constants::STANZA_ORDER
Instance Method Summary
collapse
Instance Method Details
#cask_block? ⇒ Boolean
14
15
16
|
# File 'lib/rubocop/cask/extend/node.rb', line 14
def cask_block?
block_type? && method_node.
end
|
18
19
20
|
# File 'lib/rubocop/cask/extend/node.rb', line 18
def
send_type? && CASK_METHOD_NAMES.include?(method_name)
end
|
#expression ⇒ Object
30
31
32
33
34
35
|
# File 'lib/rubocop/cask/extend/node.rb', line 30
def expression
base_expression = loc.expression
descendants.select(&:heredoc?).reduce(base_expression) do |expr, node|
expr.join(node.loc.heredoc_end)
end
end
|
#heredoc? ⇒ Boolean
26
27
28
|
# File 'lib/rubocop/cask/extend/node.rb', line 26
def heredoc?
loc.is_a?(Parser::Source::Map::Heredoc)
end
|
#stanza? ⇒ Boolean
22
23
24
|
# File 'lib/rubocop/cask/extend/node.rb', line 22
def stanza?
(send_type? || block_type?) && STANZA_ORDER.include?(method_name)
end
|