require "html/proofer/mailto_awesome/version"
module Html
module Proofer
module MailtoAwesome
class Error < StandardError; end
class MailToAwesome < ::HTMLProofer::Check
def mailto?
return false if @link.ignore? || @link.href.nil?
@link.href.match /^mailto:/i
end
def awesome?
@link.href.downcase.include? 'subject=' and @link.href.downcase.include? 'body='
end
def run
return unless @options[:check_mailto_awesome]
@html.css('a').each do |node|
@link = create_element(node)
line = node.line
content = node.to_s
if mailto? && !awesome?
add_issue("This is a not-awesome mailto link!", line: line, content: content)
end
end
end
end
end
end
end