diff options
Diffstat (limited to 'railties/guides/w3c_validator.rb')
-rw-r--r-- | railties/guides/w3c_validator.rb | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/railties/guides/w3c_validator.rb b/railties/guides/w3c_validator.rb deleted file mode 100644 index f1fe1e0f33..0000000000 --- a/railties/guides/w3c_validator.rb +++ /dev/null @@ -1,91 +0,0 @@ -# --------------------------------------------------------------------------- -# -# This script validates the generated guides against the W3C Validator. -# -# Guides are taken from the output directory, from where all .html files are -# submitted to the validator. -# -# This script is prepared to be launched from the railties directory as a rake task: -# -# rake validate_guides -# -# If nothing is specified, all files will be validated, but you can check just -# some of them using this environment variable: -# -# ONLY -# Use ONLY if you want to validate only one or a set of guides. Prefixes are -# enough: -# -# # validates only association_basics.html -# ONLY=assoc rake validate_guides -# -# Separate many using commas: -# -# # validates only association_basics.html and migrations.html -# ONLY=assoc,migrations rake validate_guides -# -# --------------------------------------------------------------------------- - -require 'rubygems' -require 'w3c_validators' -include W3CValidators - -module RailsGuides - class Validator - - def validate - validator = MarkupValidator.new - STDOUT.sync = true - errors_on_guides = {} - - guides_to_validate.each do |f| - results = validator.validate_file(f) - - if results.validity - print "." - else - print "E" - errors_on_guides[f] = results.errors - end - end - - show_results(errors_on_guides) - end - - private - def guides_to_validate - guides = Dir["./guides/output/*.html"] - guides.delete("./guides/output/layout.html") - ENV.key?('ONLY') ? select_only(guides) : guides - end - - def select_only(guides) - prefixes = ENV['ONLY'].split(",").map(&:strip) - guides.select do |guide| - prefixes.any? {|p| guide.start_with?("./guides/output/#{p}")} - end - end - - def show_results(error_list) - if error_list.size == 0 - puts "\n\nAll checked guides validate OK!" - else - error_summary = error_detail = "" - - error_list.each_pair do |name, errors| - error_summary += "\n #{name}" - error_detail += "\n\n #{name} has #{errors.size} validation error(s):\n" - errors.each do |error| - error_detail += "\n "+error.to_s.gsub("\n", "") - end - end - - puts "\n\nThere are #{error_list.size} guides with validation errors:\n" + error_summary - puts "\nHere are the detailed errors for each guide:" + error_detail - end - end - - end -end - -RailsGuides::Validator.new.validate |