class RuboCop::Cask::AST::CaskHeader

This class wraps the AST method node that represents the cask header. It includes various helper methods to aid cops in their analysis.

Attributes

method_node[R]

Public Class Methods

new(method_node) click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 7
def initialize(method_node)
  @method_node = method_node
end

Public Instance Methods

cask_token() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 29
def cask_token
  @cask_token ||= pair_node.val_node.children.first
end
dsl_version?() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 13
def dsl_version?
  hash_node
end
hash_node() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 33
def hash_node
  @hash_node ||= method_node.each_child_node(:hash).first
end
header_str() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 17
def header_str
  @header_str ||= source_range.source
end
pair_node() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 37
def pair_node
  @pair_node ||= hash_node.each_child_node(:pair).first
end
preferred_header_str() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 25
def preferred_header_str
  "cask '#{cask_token}'"
end
source_range() click to toggle source
# File lib/rubocop/cask/ast/cask_header.rb, line 21
def source_range
  @source_range ||= method_node.loc.expression
end