class Nunchaku::Checker

Attributes

checker_uri[R]
url[R]
user_agent[R]

Public Class Methods

new(url, options = {}) click to toggle source
# File lib/nunchaku/checker.rb, line 8
def initialize(url, options = {})
  options = defaults.merge(options)

  @url         = url
  @checker_uri = options[:checker_uri]
  @user_agent  = options[:user_agent]
end

Public Instance Methods

errors() click to toggle source
# File lib/nunchaku/checker.rb, line 24
def errors
  messages.select { |message| message.type == 'error' }
end
messages() click to toggle source
# File lib/nunchaku/checker.rb, line 20
def messages
  @messages ||= raw['messages'].map { |message| Nunchaku::Message.new(message) }
end
raw() click to toggle source
# File lib/nunchaku/checker.rb, line 16
def raw
  @raw ||= JSON.parse vnu_request
end
warnings() click to toggle source
# File lib/nunchaku/checker.rb, line 28
def warnings
  messages.select { |message| message.subtype == 'warning' }
end

Private Instance Methods

defaults() click to toggle source
# File lib/nunchaku/checker.rb, line 48
def defaults
  { checker_uri: 'http://validator.w3.org/nu/' }
end
escaped(str) click to toggle source
# File lib/nunchaku/checker.rb, line 44
def escaped(str)
  CGI::escape str
end
vnu_request() click to toggle source
# File lib/nunchaku/checker.rb, line 34
def vnu_request
  HTTParty.get(vnu_request_querystring).body
end
vnu_request_querystring() click to toggle source
# File lib/nunchaku/checker.rb, line 38
def vnu_request_querystring
  s  = "#{checker_uri}?out=json&doc=#{escaped @url}"
  s += "&useragent=#{escaped @user_agent}" if @user_agent
  s
end