class GamedayCliGem::CLI

Public Instance Methods

call() click to toggle source
# File lib/gameday_cli_gem/cli.rb, line 3
def call  #Main program loop
   GamedayCliGem::Scraper.new.make_games
   start
 end
goodbye() click to toggle source
# File lib/gameday_cli_gem/cli.rb, line 76
def goodbye  #exit program method
  system "clear"
  puts ""
  puts "See you tomorrow for the next game!"
  puts ""
  sleep 0.5
end
list_games() click to toggle source
# File lib/gameday_cli_gem/cli.rb, line 8
def list_games
    GamedayCliGem::Game.all.each_with_index do |game, index|
      if !game.news_url.nil?
        puts "#{index+1}. | #{game.league} | #{game.team1} vs. #{game.team2} - #{game.start_time} - News Available"
      elsif game.start_time.length < 1
        puts "#{index+1}. | #{game.league} | #{game.team1} vs. #{game.team2} - ONGOING "
      else
        puts "#{index+1}. | #{game.league} | #{game.team1} vs. #{game.team2} - #{game.start_time} "
      end
  end
end
start() click to toggle source
# File lib/gameday_cli_gem/cli.rb, line 20
def start  #menu interface. navigates to individual games, or daily games listing
    puts "-------------------"
    puts "Welcome to Gameday!"
    puts "-------------------"
    puts "Today is #{DateTime.now.strftime('%m/%d/%Y')} -"
    puts "Here are Today's Games:"
    puts
   list_games
   puts ""
   puts "Select any game with 'News Available' for more info. Or, type [Exit] to leave."
   input = gets.chomp.downcase
    if input == "exit"
      goodbye
    else
     system "clear"
       if GamedayCliGem::Game.find(input.to_i) && GamedayCliGem::Game.find(input.to_i).news_url.nil? #found game, but no news url to dig into
           puts "No news is currently available for that game. Please check back later tonight!"
           puts ""
           puts ""
           puts "------------------------------"
           puts "Press enter to return to main menu."
           input = gets.chomp
           start
       elsif !GamedayCliGem::Game.find(input.to_i) #did not find game by number
           puts "Invalid game selection! Please input a valid game number. [1 - #{GamedayCliGem::Game.all.length}]"
           puts ""
           puts ""
           puts "------------------------------"
           puts "Press enter to return to main menu."
           input = gets.chomp
           start
       elsif GamedayCliGem::Game.find(input.to_i) && !GamedayCliGem::Game.find(input.to_i).news_url.nil? #found game and it has a news_url to dig into
         game = GamedayCliGem::Game.find(input.to_i)
           puts "------------------------------"
           puts game.headline
           puts "------------------------------"
           game.final_score
           puts ""
           puts game.recap
           puts "------------------------------"
           puts "Enter [List] to return to today's games, or [Exit] to quit."
           input = gets.chomp.downcase
           case input
             when "list"
               system "clear"
               start
             when "exit"
               goodbye
             else
               system "clear"
               start
             end
           end
       end
 end