class RetroCasts::Website
Attributes
site_cache[R]
Public Class Methods
new(cache = {})
click to toggle source
# File lib/retro_casts/website.rb, line 6 def initialize(cache = {}) @site_cache = cache end
Public Instance Methods
get_list(url, filter)
click to toggle source
# File lib/retro_casts/website.rb, line 10 def get_list(url, filter) if site_cache.has_key?(url) site_cache[url] else site = open_url(url) page = css(site, filter) add_to_cache(url, page) page end end
Private Instance Methods
add_to_cache(url, page)
click to toggle source
# File lib/retro_casts/website.rb, line 22 def add_to_cache(url, page) site_cache[url] = page end
css(site, filter)
click to toggle source
# File lib/retro_casts/website.rb, line 34 def css(site, filter) begin Nokogiri::HTML(site).css(filter) rescue Nokogiri::CSS::SyntaxError NullWebsite.new end end
open_url(url)
click to toggle source
# File lib/retro_casts/website.rb, line 26 def open_url(url) begin open(url) rescue Errno::ENOENT NullWebsite.new end end