Class: DelegateTracker::CandidateListScraper
- Inherits:
-
Object
- Object
- DelegateTracker::CandidateListScraper
- Defined in:
- lib/delegate_tracker/candidate_list_scraper.rb
Instance Method Summary collapse
- #candidates(party) ⇒ Object
- #candidates_list(party) ⇒ Object
- #count(party) ⇒ Object
- #get_candidate_url(party) ⇒ Object
Instance Method Details
#candidates(party) ⇒ Object
3 4 5 6 |
# File 'lib/delegate_tracker/candidate_list_scraper.rb', line 3 def candidates(party) candidate_source = Nokogiri::HTML(open("http://www.politico.com/2016-election/results/delegate-count-tracker")) candidate_list = candidate_source.css(".contains-#{party} .candidate-name")[0..4].css('a[href]').each_with_object({}) { |n, h| h[n.text.strip] = n['href'] } end |
#candidates_list(party) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/delegate_tracker/candidate_list_scraper.rb', line 8 def candidates_list(party) if party == "democrat" party_proper = "Democratic" else party_proper = "Republican" end puts "Which #{party_proper} candidate would you like to learn about?" puts "" candidates(party).each_with_index{|(k,v), index| puts "#{index+=1}. #{k}"} puts "R. Random candidate" puts "Q. Return to party selection." end |
#count(party) ⇒ Object
25 26 27 |
# File 'lib/delegate_tracker/candidate_list_scraper.rb', line 25 def count(party) self.candidates(party).count end |
#get_candidate_url(party) ⇒ Object
21 22 23 |
# File 'lib/delegate_tracker/candidate_list_scraper.rb', line 21 def get_candidate_url(party) candidates(party).each_with_index.map{ |(k,v), index| "#{v}"} end |