class ValidatePage
Public Class Methods
on(attrib, content, message)
click to toggle source
# File lib/validate_page.rb, line 19 def self.on(attrib, content, message) @@attrib = attrib @@content = content @@message = message return self end
set_parser(name)
click to toggle source
# File lib/validate_page.rb, line 11 def self.set_parser(name) @@parser = name end
validator()
click to toggle source
# File lib/validate_page.rb, line 15 def self.validator @@parser end
Public Instance Methods
present(url)
click to toggle source
# File lib/validate_page.rb, line 32 def present(url) if @@parser == :text_parser page = Net::HTTP.get_response(URI.parse(url)).response.body @@content.split(/[;,\s\.]+/).any?{|c| page.include?(c)} else uri = URI.parse(url.chomp) Capybara.app_host = uri.scheme + '://' + uri.host visit uri.path @@content.split(/[;,\s\.]+/).any?{|c| page.has_text?(c)} end end
validate(record)
click to toggle source
# File lib/validate_page.rb, line 26 def validate(record) if(present record[@@attrib]) record.errors.add @@attrib, (@@message.present? ? @@message : 'page contains inappropriate content') end end