class WebsiteInspector::Website

Attributes

body[RW]
html[RW]
page[RW]
search_terms[RW]
site_data[RW]
title[RW]
url[RW]

Public Class Methods

clean_input(search_terms) click to toggle source
# File lib/website_inspector/website.rb, line 36
def self.clean_input search_terms
    terms = Array.new
    search_terms.each do |term|
        term = term.to_s.gsub(",", "")
        terms << term
    end
    terms
end
console_print(section_name) click to toggle source
# File lib/website_inspector/website.rb, line 61
def self.console_print section_name
    puts "---------------------------\nSEARCHING #{section_name}"
end
search_all() click to toggle source
# File lib/website_inspector/website.rb, line 65
def self.search_all
    @site_data.each do |k, v|
        Website.console_print "#{k}"
        Website.search v.to_s.downcase
    end
end
search_type(key) click to toggle source
# File lib/website_inspector/website.rb, line 72
def self.search_type key
    Website.console_print "#{key}"
    value = @site_data[key]
    if value.kind_of? Array
        value.each do |v|
            Website.search v.to_s.downcase
        end
    else
        Website.search value.to_s.downcase
    end
end
start(website_url, search_terms) click to toggle source
# File lib/website_inspector/website.rb, line 9
def self.start website_url, search_terms
    agent = Mechanize.new

    @search_terms = clean_input search_terms
    @regex_search = Regexp.union(@search_terms)
    @website_url = Website.validate_url website_url

    @site_data = Hash.new
    @site_data["PAGE"] = @page = agent.get(@website_url) # Mechanize Page
    @site_data["TITLE"] = @title = @page.title # String
    @site_data["HTML/XML"] = @html = @page.parser # Nokogiri HTML
    @site_data["WEBPAGE SOURCE"] = @source = @page.body # String
    @site_data["LINKS"] = @links = @page.links # Array
    @site_data["IMAGES"] = @images = @page.images
    @site_data["IMAGE URLS"] = @image_urls = @page.image_urls
    @site_data["PAGE FORMS"] = @forms = @page.forms
end
validate_url(website_url) click to toggle source
# File lib/website_inspector/website.rb, line 27
def self.validate_url website_url
    site = website_url.chomp(",") #get rid of trailing commas
    uri = URI(site)
    if uri.instance_of?(URI::Generic)
        uri = URI::HTTP.build({:host => uri.to_s}) 
    end
    uri
end