Class: LocalSkiReport::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/local_ski_report/scraper.rb

Class Method Summary collapse

Class Method Details

.create_resort_report(table) ⇒ Object



21
22
23
24
25
26
27
28
# 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) ⇒ Object



3
4
5
6
# File 'lib/local_ski_report/scraper.rb', line 3

def self.get_page(url)
    html = open(url)
    Nokogiri::HTML(html)    
end

.get_table(html) ⇒ Object



8
9
10
11
12
# 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) ⇒ Object



30
31
32
33
34
# File 'lib/local_ski_report/scraper.rb', line 30

def self.scrap_report_page(report)
    url = "http://www.onthesnow.com#{report.resort.url}"
    doc = self.get_page(url)
    report.get_xt_report_info(doc)
end

.scrap_resorts_page(state_url) ⇒ Object



14
15
16
17
18
19
# File 'lib/local_ski_report/scraper.rb', line 14

def self.scrap_resorts_page(state_url)
    url = "http://www.onthesnow.com/#{state_url}/skireport.html"
    doc = self.get_page(url)
    table = get_table(doc)
    self.create_resort_report(table)
end