36 lines
1.0 KiB
Ruby
Raw Normal View History

# typed: strict
# frozen_string_literal: true
2023-02-20 10:22:39 -08:00
require "rubocops/extend/formula_cop"
require "rubocops/shared/homepage_helper"
module RuboCop
module Cop
module FormulaAudit
# This cop audits the `homepage` URL in formulae.
2023-02-20 18:10:59 -08:00
class Homepage < FormulaCop
include HomepageHelper
2021-01-12 15:58:52 +11:00
extend AutoCorrector
sig { override.params(formula_nodes: FormulaNodes).void }
def audit_formula(formula_nodes)
body_node = formula_nodes.body_node
homepage_node = find_node_method_by_name(body_node, :homepage)
2021-01-12 15:58:52 +11:00
if homepage_node.nil?
offending_node(formula_nodes.class_node) if body_node.nil?
2021-01-12 15:58:52 +11:00
problem "Formula should have a homepage."
return
end
2021-01-12 15:58:52 +11:00
homepage_parameter_node = parameters(homepage_node).first
offending_node(homepage_parameter_node)
content = string_content(homepage_parameter_node)
audit_homepage(:formula, content, homepage_node, homepage_parameter_node)
end
end
end
end
end