40 lines
770 B
Ruby
40 lines
770 B
Ruby
require "rubygems"
|
|
require 'living-validator'
|
|
require 'uri'
|
|
|
|
url = ARGV.first
|
|
files = ARGV.slice(1, 9999)
|
|
stop_at = files.length
|
|
i = 1
|
|
|
|
def colorize(text, color_code)
|
|
"\e[#{color_code}m#{text}\e[0m"
|
|
end
|
|
|
|
def red(text); colorize(text, 31); end
|
|
def green(text); colorize(text, 32); end
|
|
|
|
valid = true
|
|
|
|
files.each do |file|
|
|
puts '[%d/%d] %s%s:' % [i, stop_at, url, file]
|
|
i += 1
|
|
result = LivingValidator::Validator.check '%s%s' % [url, file]
|
|
unless result == false
|
|
if result.errorCount > 0
|
|
result.errors.each do |error|
|
|
puts red("%d:%d %s" % [error["lastLine"], error["lastColumn"], error["message"]])
|
|
end
|
|
|
|
valid = false
|
|
else
|
|
puts green "valid"
|
|
end
|
|
else
|
|
puts red("FAILED")
|
|
end
|
|
end
|
|
|
|
exit 1 unless valid == true
|
|
|
|
exit 0
|
|
|