Sha256: 80e7e053c38eed632030bbc9fb0b0534d6ab60d64171180d033db80a69a7ca48

Contents?: true

Size: 1.19 KB

Versions: 26

Compression:

Stored size: 1.19 KB

Contents

# -*- encoding: utf-8 -*-

module SiteValidator
  ##
  # Validator module is the one in charge of doing the validation loop
  # for all pages on a sitemap and output the errors
  #
  module Validator
    attr_writer :printer

    extend self

    ##
    # Parses a remote xml sitemap and checks markup validation for each url
    # Shows progress on dot-style (...F...FFE..). A dot is a valid page,
    # an F is a page with errors, and an E is an exception
    # After the checking is done, a detailed summary is written to filename
    def check(url, filename, timeout)
      sitemap = SiteValidator::Sitemap.new(url, timeout.to_f)
      say "Validating #{sitemap.pages.length} pages"

      sitemap.pages.each do |page|
        say_inline page.valid? ? "." : (page.errors.nil? ? 'E' : 'F')
      end

      SiteValidator::Reporter.generate_html(sitemap, filename)
      say "\nValidation finished, see the report at #{filename}"
    end

    private

    def printer
      @printer ||= STDOUT
    end

    ##
    # A shorter alias for printer.puts
    def say(text)
      printer.puts text
    end

    ##
    # A shorter alias for printer.print
    def say_inline(text)
      printer.print text
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
site_validator-1.4.1 lib/site_validator/validator.rb
site_validator-1.3.11 lib/site_validator/validator.rb
site_validator-1.3.10 lib/site_validator/validator.rb
site_validator-1.3.9 lib/site_validator/validator.rb
site_validator-1.3.8 lib/site_validator/validator.rb
site_validator-1.3.7 lib/site_validator/validator.rb
site_validator-1.3.6 lib/site_validator/validator.rb
site_validator-1.3.5 lib/site_validator/validator.rb
site_validator-1.3.4 lib/site_validator/validator.rb
site_validator-1.3.3 lib/site_validator/validator.rb
site_validator-1.3.2 lib/site_validator/validator.rb
site_validator-1.3.1 lib/site_validator/validator.rb
site_validator-1.3.0 lib/site_validator/validator.rb
site_validator-1.2.5 lib/site_validator/validator.rb
site_validator-1.2.4 lib/site_validator/validator.rb
site_validator-1.2.3 lib/site_validator/validator.rb
site_validator-1.2.2 lib/site_validator/validator.rb
site_validator-1.2.1 lib/site_validator/validator.rb
site_validator-1.2.0 lib/site_validator/validator.rb
site_validator-1.1.1 lib/site_validator/validator.rb