class NbaDraft2017::Cli
Public Instance Methods
add_attributes_to_players()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 57 def add_attributes_to_players NbaDraft2017::Player.all.each do |player| add_attributes_to_player(player.name) end end
call()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 5 def call puts 'Welcome to the 2017 NBA Draft!' make_players menu end
compare_stats()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 153 def compare_stats puts "This might take a minute for first comaprison.".bold.colorize(:green) puts "To proceed enter a stat category from #{@@key_stats} or 'menu' to return to menu" stat_category = gets.downcase.strip if @@key_stats.include?(stat_category) puts "Enter a number to see players that have a higher average for #{stat_category.colorize(:green)} and make sure to enter a decimal for fg%, three%, and ft%" stat_num = gets.strip if stat_num.to_f.between?(0.001,40) NbaDraft2017::Player.stat_greater_than(stat_category, stat_num) elsif stat_num == 'menu' || stat_num == 'exit' menu else error end elsif stat_category == 'menu' || stat_category == 'exit' menu else error end end
dotted_line()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 49 def dotted_line puts "------------------------------------------------------------".bold.colorize(:red) end
error()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 228 def error puts "I didn't understand that! Please try agian or type 'exit'.".colorize(:red).bold puts "------------------------------------------------------------".colorize(:green).bold end
find_and_list_player()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 106 def find_and_list_player puts "Please enter player draft pick number or player name." lookup = gets.strip if lookup.to_i.between?(1, NbaDraft2017::Player.all.size) player = NbaDraft2017::Player.find_player_by_pick(lookup) list_player_details(player) elsif player ||= NbaDraft2017::Player.find_player_by_name(lookup) list_player_details(player) else error end player end
good_bye()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 233 def good_bye puts "Thanks for checking out the 2017 NBA Draft! Good Luck!" end
list_controls()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 91 def list_controls draft = "'draft'" round_1 = "'rd1'" round_2 = "'rd2'" player = "'player'" nba_team = "'nba'" former_team = "'former'" puts "Enter #{draft.colorize(:green)}, #{round_1.colorize(:green)} or #{round_2.colorize(:green)} to see list of draft picks." puts "Enter #{player.colorize(:green)} to see player details and stats" puts "Enter #{nba_team.colorize(:green)} to show players drafted by a NBA team" puts "Enter #{former_team.colorize(:green)} to show players drated out of colleges or clubs" puts "Enter " + "'compare stats'".colorize(:green) + " to see player with stat average above number specified by user" puts "To quit, type" + " 'exit'".colorize(:green) end
list_draft()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 11 def list_draft list_round_1 list_round_2 end
list_draft_picks_by_former_team()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 188 def list_draft_picks_by_former_team puts NbaDraft2017::Player.former_teams.sort puts 'Enter a School or Country name exactly as shown in list above:'.colorize(:green) former_team = gets.strip.downcase if NbaDraft2017::Player.former_teams.include?(former_team) NbaDraft2017::Player.players_by_former_team(former_team) more_info_on_player?(former_team) else error end end
list_draft_picks_by_nba_team()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 174 def list_draft_picks_by_nba_team puts NbaDraft2017::Player.nba_teams.sort puts 'Enter an NBA team (name only) as in list above:'.colorize(:green) nba_team = gets.strip.downcase if NbaDraft2017::Player.nba_teams.include?(nba_team) NbaDraft2017::Player.players_by_nba_team(nba_team) more_info_on_player?(nba_team) else error end end
list_player_details(player)
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 121 def list_player_details(player) if NbaDraft2017::Player.all_attributes player else player = NbaDraft2017::Player.add_attributes_to_player(player) end puts "#{player.name.upcase.bold.underline}".colorize(:green).bold puts " Round:".bold.colorize(:red) +" #{player.round}" + " Pick:".bold.colorize(:red) +" #{player.pick}" puts " Drafted By:".bold.colorize(:red) +" #{player.nba_team}" puts " From:".bold.colorize(:red) +" #{player.former_team}" puts " Position:".bold.colorize(:red) +" #{player.position}" puts " Drafted As:".bold.colorize(:red) +" #{player.former_status}" puts " Age:".bold.colorize(:red) +" #{player.age}" puts " Height:".bold.colorize(:red) +" #{player.height}" puts " Weight:".bold.colorize(:red) +" #{player.weight}" puts " STATS".colorize(:green).bold if player.key_stats if player.key_stats puts " PPG:".bold.colorize(:red) + " #{player.ppg}" if player.ppg puts " RPG:".bold.colorize(:red) + " #{player.rpg}" if player.rpg puts " APG:".bold.colorize(:red) + " #{player.apg}" if player.apg puts " FG:".bold.colorize(:red) + " #{(player.fg * 100).round(2)}%" if player.fg puts " 3PT:".bold.colorize(:red) + " #{(player.three * 100).round(2)}%" if player.three puts " FT:".bold.colorize(:red) + " #{(player.ft * 100).round(2)}%" if player.ft puts " TPG:".bold.colorize(:red) + " #{player.tpg}" if player.tpg puts " SPG:".bold.colorize(:red) + " #{player.spg}" if player.spg puts " BPG:".bold.colorize(:red) + " #{player.bpg}" if player.bpg puts " MPG:".bold.colorize(:red) + " #{player.mpg}" if player.mpg end end
list_round_1()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 16 def list_round_1 dotted_line puts "Round 1".colorize(:blue).bold dotted_line i = 0 while i < 30 player = NbaDraft2017::Player.all[i] if i < 9 puts "#{i + 1}. #{player.name.colorize(:green).bold} #{player.position.colorize(:red)} from #{player.former_team.colorize(:blue).bold} drafted by #{player.nba_team.colorize(:green).bold}" else puts "#{i + 1}. #{player.name.colorize(:green).bold} #{player.position.colorize(:red)} from #{player.former_team.colorize(:blue).bold} drafted by #{player.nba_team.colorize(:green).bold}" end i += 1 end dotted_line end
list_round_2()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 35 def list_round_2 puts "Round 2".colorize(:blue).bold dotted_line i = 30 while i < 60 player = NbaDraft2017::Player.all[i] puts "#{i + 1}. #{player.name.colorize(:green).bold} #{player.position.colorize(:red)} from #{player.former_team.colorize(:blue).bold} drafted by #{player.nba_team.colorize(:green).bold}" i += 1 end dotted_line end
make_players()
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 53 def make_players NbaDraft2017::Scraper.scrape_draft end
more_info_on_player?(team)
click to toggle source
# File lib/nba_draft_2017/cli.rb, line 202 def more_info_on_player?(team) request = nil while request != 'n' && request != 'exit' puts "Would you like more info on any of the players? 'y' or 'n'?" request = gets.downcase.strip if request =='y' player = find_and_list_player if player.nba_team.downcase != team.downcase && player.former_team.downcase != team.downcase dotted_line puts "That player isn't on or from #{team} though!!!".upcase.bold.colorize(:red) dotted_line end elsif request == 'n' || request == 'exit' break else error end end end