Class: RuboCop::Node

Inherits:
Object
  • Object
show all
Includes:
Cask::Constants
Defined in:
lib/rubocop/cask/extend/node.rb

Overview

Extensions for RuboCop’s AST Node class

Constant Summary

Constants included from Cask::Constants

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

Returns:

  • (Boolean)


13
14
15
# File 'lib/rubocop/cask/extend/node.rb', line 13

def cask_block?
  block_type? && method_node.cask_header?
end

#cask_header?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/rubocop/cask/extend/node.rb', line 17

def cask_header?
  send_type? && CASK_METHOD_NAMES.include?(method_name)
end

#expressionObject



29
30
31
32
33
34
# File 'lib/rubocop/cask/extend/node.rb', line 29

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

Returns:

  • (Boolean)


25
26
27
# File 'lib/rubocop/cask/extend/node.rb', line 25

def heredoc?
  loc.is_a?(Parser::Source::Map::Heredoc)
end

#stanza?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/rubocop/cask/extend/node.rb', line 21

def stanza?
  (send_type? || block_type?) && STANZA_ORDER.include?(method_name)
end