class RuboCop::Cop::Cask::HomepageUrlTrailingSlash
This cop checks that a cask's homepage ends with a slash if it does not have a path component.
Constants
- MSG_NO_SLASH
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/cask/homepage_url_trailing_slash.rb, line 24 def autocorrect(node) domain = URI(node.str_content).host # This also takes URLs like 'https://example.org?path' # and 'https://example.org#path' into account. corrected_source = node.source.sub("://#{domain}", "://#{domain}/") lambda do |corrector| corrector.replace(node.source_range, corrected_source) end end
on_homepage_stanza(stanza)
click to toggle source
# File lib/rubocop/cop/cask/homepage_url_trailing_slash.rb, line 14 def on_homepage_stanza(stanza) url_node = stanza.stanza_node.first_argument url = url_node.str_content return if url !~ %r{^.+://[^/]+$} add_offense(url_node, location: :expression, message: format(MSG_NO_SLASH, url: url)) end