class LocalSkiReport::Scraper

Public Class Methods

create_resort_report(table) click to toggle source
# File lib/local_ski_report/scraper.rb, line 21
def self.create_resort_report(table)
     table.collect do |row|
        new_resort = LocalSkiReport::Resort.create(row)
        new_report = LocalSkiReport::Report.create(row)
        new_resort.add_report(new_report)
        new_resort
    end
end
get_page(url) click to toggle source
# File lib/local_ski_report/scraper.rb, line 3
def self.get_page(url)
    html = open(url)
    Nokogiri::HTML(html)    
end
get_table(html) click to toggle source
# File lib/local_ski_report/scraper.rb, line 8
def self.get_table(html)
    table = html.css('table')
    table_rows = table.css('tr')
    table_rows.slice(2, table_rows.size - 3)
end
scrap_report_page(report) click to toggle source
# File lib/local_ski_report/scraper.rb, line 30
def self.scrap_report_page(report)
    url = "https://www.onthesnow.com#{report.resort.url}"
    doc = self.get_page(url)
    report.get_xt_report_info(doc)
end
scrap_resorts_page(state_url) click to toggle source
# File lib/local_ski_report/scraper.rb, line 14
def self.scrap_resorts_page(state_url)
    url = "https://www.onthesnow.com/#{state_url}/skireport.html"
    doc = self.get_page(url)
    table = get_table(doc)
    self.create_resort_report(table)
end