class PetRescue::SearchResultsPage
A page of search results on petrescue.com.au
Public Class Methods
from_url(url)
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 9 def self.from_url(url) SearchResultsPage.new(open(url)) end
new(document)
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 13 def initialize(document) @document = Nokogiri::HTML(document) end
Public Instance Methods
has_next_page?()
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 21 def has_next_page? !!next_page_href end
listing_pages()
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 17 def listing_pages listing_ids.map { |id| ListingPage.for_listing(id) } end
next_page()
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 25 def next_page url = "http://www.petrescue.com.au#{next_page_href}" SearchResultsPage.from_url(url) end
Private Instance Methods
listing_ids()
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 37 def listing_ids @document .css(".listing .name a") .map { |node| Integer(node[:href].to_s.gsub("/listings/", "")) } end
next_page_href()
click to toggle source
# File lib/pet_rescue/search_results_page.rb, line 32 def next_page_href node = @document.at_css(".next a") node && node[:href] end