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