Class: RuboCop::Cask::AST::CaskHeader
- Defined in:
- rubocops/cask/ast/cask_header.rb
Overview
This class wraps the AST method node that represents the cask header. It includes various helper methods to aid cops in their analysis.
Instance Attribute Summary collapse
-
#method_node ⇒ Object
readonly
Returns the value of attribute method_node.
Instance Method Summary collapse
-
#cask_token ⇒ Object
-
#hash_node ⇒ Object
-
#header_str ⇒ Object
-
#initialize(method_node) ⇒ CaskHeader
constructor
A new instance of CaskHeader.
-
#pair_node ⇒ Object
-
#preferred_header_str ⇒ String
-
#source_range ⇒ Object
Constructor Details
#initialize(method_node) ⇒ CaskHeader
Returns a new instance of CaskHeader.
10 11 12 |
# File 'rubocops/cask/ast/cask_header.rb', line 10 def initialize(method_node) @method_node = method_node end |
Instance Attribute Details
#method_node ⇒ Object (readonly)
Returns the value of attribute method_node.
14 15 16 |
# File 'rubocops/cask/ast/cask_header.rb', line 14 def method_node @method_node end |
Instance Method Details
#cask_token ⇒ Object
29 30 31 |
# File 'rubocops/cask/ast/cask_header.rb', line 29 def cask_token @cask_token ||= method_node.first_argument.str_content end |
#hash_node ⇒ Object
33 34 35 |
# File 'rubocops/cask/ast/cask_header.rb', line 33 def hash_node @hash_node ||= method_node.each_child_node(:hash).first end |
#header_str ⇒ Object
16 17 18 |
# File 'rubocops/cask/ast/cask_header.rb', line 16 def header_str @header_str ||= source_range.source end |
#pair_node ⇒ Object
37 38 39 |
# File 'rubocops/cask/ast/cask_header.rb', line 37 def pair_node @pair_node ||= hash_node.each_child_node(:pair).first end |
#preferred_header_str ⇒ String
25 26 27 |
# File 'rubocops/cask/ast/cask_header.rb', line 25 def preferred_header_str "cask '#{cask_token}'" end |
#source_range ⇒ Object
20 21 22 |
# File 'rubocops/cask/ast/cask_header.rb', line 20 def source_range @source_range ||= method_node.loc.expression end |