Class: RuboCop::Cop::FormulaAudit::LivecheckRegexIfPageMatch Private
- Inherits:
-
RuboCop::Cop::FormulaCop
- Object
- RuboCop::Cop
- RuboCop::Cop::FormulaCop
- RuboCop::Cop::FormulaAudit::LivecheckRegexIfPageMatch
- Defined in:
- Library/Homebrew/rubocops/livecheck.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
This cop ensures that a regex
is provided when strategy :page_match
is specified
in the livecheck
block.
Instance Attribute Summary
Attributes inherited from RuboCop::Cop::FormulaCop
Instance Method Summary collapse
Methods inherited from RuboCop::Cop::FormulaCop
#audit_comments, #audit_urls, #block_size, #caveats_strings, #check_precedence, #class_name, #component_precedes?, #depends_on?, #depends_on_name_type?, #end_column, #expression_negated?, #find_all_blocks, #find_block, #find_blocks, #find_const, #find_every_func_call_by_name, #find_every_method_call_by_name, #find_instance_call, #find_instance_method_call, #find_method_calls_by_name, #find_method_def, #find_method_with_args, #find_node_method_by_name, #find_strings, #format_component, #formula_tap, #get_checksum_node, #method_called?, #method_called_ever?, #method_called_in_block?, #method_name, #node_equals?, #offending_node, #on_class, #parameters, #parameters_passed?, #size, #versioned_formula?
Methods included from HelperFunctions
#line_number, #line_start_column, #problem, #regex_match_group, #source_buffer, #start_column, #string_content
Instance Method Details
#audit_formula(_node, _class_node, _parent_class_node, body_node) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'Library/Homebrew/rubocops/livecheck.rb', line 195 def audit_formula(_node, _class_node, _parent_class_node, body_node) livecheck_node = find_block(body_node, :livecheck) return if livecheck_node.blank? skip = find_every_method_call_by_name(livecheck_node, :skip).first.present? return if skip.present? livecheck_strategy_node = find_every_method_call_by_name(livecheck_node, :strategy).first return if livecheck_strategy_node.blank? strategy = livecheck_strategy_node.descendants.first.source return if strategy != ":page_match" livecheck_regex_node = find_every_method_call_by_name(livecheck_node, :regex).first return if livecheck_regex_node.present? offending_node(livecheck_node) problem "A `regex` is required if `strategy :page_match` is present." end |