Sha256: 7c68a1be2757526636613da9ed36f75b42cbd75fbb0ca293b6c204996ad36014

Contents?: true

Size: 882 Bytes

Versions: 5

Compression:

Stored size: 882 Bytes

Contents

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
html-proofer-mailto_awesome-1.0.6 lib/mailto_awesome.rb
html-proofer-mailto_awesome-1.0.4 lib/mailto_awesome.rb
html-proofer-mailto_awesome-1.0.3 lib/mailto_awesome.rb
html-proofer-mailto_awesome-1.0.2 lib/mailto_awesome.rb
html-proofer-mailto_awesome-1.0.1 lib/mailto_awesome.rb