class SportHeadlines::CLI

Public Instance Methods

call() click to toggle source
# File lib/sport_headlines/cli.rb, line 2
def call
  puts "Welcome to the Sports Headlines Aggregator."
  puts ""
  SportHeadlines::Site.create_sites_from_hash
  start
end
list_sites() click to toggle source
# File lib/sport_headlines/cli.rb, line 32
def list_sites
  SportHeadlines::Site.all.each_with_index do |site, index|
    puts "#{index +1}. #{site.site_name}"
  end
end
start() click to toggle source
# File lib/sport_headlines/cli.rb, line 9
def start
  sites = SportHeadlines::Site.all
  scraper = SportHeadlines::Scraper
  puts ""
  input = nil
  while input != 'exit'
    puts "Please select a site - by number you would like to view the top headlines from. Enter exit to end the program"
    puts ""
    list_sites
    puts ""
    input = gets.strip
    if input.to_i.between?(1,sites.size)
      scraper.scrape_site_headlines(sites[input.to_i-1])
      puts "Select an article to read its content."
      puts ""
      sites[input.to_i-1].list_articles
      article_input = gets.strip
      scraper.scrape_article(sites[input.to_i-1].articles[article_input.to_i - 1])
      sites[input.to_i-1].articles[article_input.to_i - 1].print_content
    end
  end
end