class Scraper

Public Class Methods

no_events_listed(ra_events_page) click to toggle source
# File lib/ra_events/scraper.rb, line 37
def self.no_events_listed(ra_events_page)
  ra_events_page.css('.pr8').first.text.include?("no events")
end
scrape_events_page(url) click to toggle source
# File lib/ra_events/scraper.rb, line 17
def self.scrape_events_page(url)
  ra_events_page = Nokogiri::HTML(open(url))
  
  Event.new({no_events_listed: true}) if self.no_events_listed(ra_events_page)
  
  ra_events_page.css("#items").each do |event_listings|
    event_listings.css('li').each do |event|
      event_date = event.css('time').text
      event_title = event.css('div h1 a').text.gsub("#{event.css('span a').text}", "")
      event_location = event.css('span a[1]').text + " " + event.css('a[2]').text unless event.css('span a').text.empty?
      event_artists = event.css('div div').text unless event.css('div div').text.empty?
      event_url = event.css('a').attr('href').text

      if event_title != "" && event_location != ""  
        Event.new({date: event_date, title: event_title, location: event_location, artists: event_artists, url: event_url})        
      end
    end
  end
end