Class: RuboCop::Cop::Cask::HomepageMatchesUrl

Inherits:
RuboCop::Cop
  • Object
show all
Extended by:
Forwardable
Includes:
CaskHelp
Defined in:
brew/Library/Homebrew/rubocops/cask/homepage_matches_url.rb

Overview

This cop checks that a cask’s homepage matches the download url, or if it doesn’t, checks if a comment in the form # example.com was verified as official when first introduced to the cask is present.

Constant Summary collapse

REFERENCE_URL =
"https://github.com/Homebrew/homebrew-cask/blob/master/doc/" \
"cask_language_reference/stanzas/url.md#when-url-and-homepage-hostnames-differ-add-a-comment"
COMMENT_FORMAT =
/# [^ ]+ was verified as official when first introduced to the cask/.freeze
MSG_NO_MATCH =
"`%{url}` does not match `%{full_url}`"
MSG_MISSING =
("`%{domain}` does not match `%{homepage}`, a comment has to be added " \
"above the `url` stanza. For details, see " + REFERENCE_URL).freeze
MSG_WRONG_FORMAT =
("`%{comment}` does not match the expected comment format. " \
"For details, see " + REFERENCE_URL).freeze
MSG_UNNECESSARY =
"The URL's domain `%{domain}` matches the homepage `%{homepage}`, " \
"the comment above the `url` stanza is unnecessary"

Instance Method Summary collapse

Methods included from CaskHelp

#on_block

Instance Method Details

#on_cask(cask_block) ⇒ Object



33
34
35
36
37
38
# File 'brew/Library/Homebrew/rubocops/cask/homepage_matches_url.rb', line 33

def on_cask(cask_block)
  @cask_block = cask_block
  return unless homepage_stanza

  add_offenses
end