Class: YaleBulldogs::CLI
- Inherits:
-
Object
- Object
- YaleBulldogs::CLI
- Defined in:
- lib/yale_bulldogs/cli.rb
Instance Method Summary collapse
- #call ⇒ Object
- #display_meets ⇒ Object
- #get_year_range(year) ⇒ Object
- #goodbye ⇒ Object
- #meet_information ⇒ Object
- #request_data ⇒ Object
- #request_gender ⇒ Object
- #request_year ⇒ Object
Instance Method Details
#call ⇒ Object
3 4 5 6 7 8 |
# File 'lib/yale_bulldogs/cli.rb', line 3 def call puts "Welcome to the Yale Swimming and Diving CLI app" puts "Please enter 'exit' at any time to quit the app" meet_information goodbye end |
#display_meets ⇒ Object
59 60 61 62 63 64 65 66 67 |
# File 'lib/yale_bulldogs/cli.rb', line 59 def display_meets doc = request_data results = YaleBulldogs::Season.scrape_season(doc) puts results[0].text results[1].each_with_index do |meet, index| puts (index + 1).to_s + ". : " + meet.opponent end results[1] end |
#get_year_range(year) ⇒ Object
42 43 44 |
# File 'lib/yale_bulldogs/cli.rb', line 42 def get_year_range(year) year.to_s + '-' + (year.to_i + 1).to_s[2..4] end |
#goodbye ⇒ Object
92 93 94 |
# File 'lib/yale_bulldogs/cli.rb', line 92 def goodbye puts "Bulldogs, bulldogs, bow bow bow, Eli Yale!" end |
#meet_information ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/yale_bulldogs/cli.rb', line 69 def meet_information meets = display_meets input = nil while input != 'exit' && input != 'back' puts "Which meet are you interested in? (enter meet number):" input = gets.strip if input.to_i > 0 && input.to_i <= meets.length meet = meets[input.to_i - 1] puts "Opponent: " + meet.opponent puts "Date: " + meet.date puts "Time: " + meet.time puts "Result: " + meet.result elsif input == 'back' call elsif input == 'exit' break else puts "Number invalid. Please try again:" end end end |
#request_data ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/yale_bulldogs/cli.rb', line 46 def request_data gender = request_gender year = request_year url = "http://yalebulldogs.com/sports/#{gender}-swim/#{self.get_year_range(year)}/schedule" begin doc = Nokogiri::HTML(open(url)) return doc rescue puts "Data not available for that season. Please try again." request_data end end |
#request_gender ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/yale_bulldogs/cli.rb', line 10 def request_gender gender_input = nil while gender_input != 'exit' puts "Are you looking for information on the men's team or women's team?:" gender_input = gets.strip.downcase if gender_input == 'm' || gender_input =='men' || gender_input == 'mens' || gender_input == "men's" gender = 'm' elsif gender_input == 'w' || gender_input == 'women' || gender_input == 'womens' || gender_input == "women's" gender = 'w' elsif gender_input == 'exit' abort("Bulldogs, bulldogs, bow bow bow, Eli Yale!") else puts "Input invalid. Please try again." request_gender end return gender end end |
#request_year ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/yale_bulldogs/cli.rb', line 29 def request_year year = nil while year != 'exit' puts "What year are you interested in? (input must be in YYYY format):" year = gets.strip if year.to_s.length != 4 puts "Input invalid. Please try again." request_year end return year end end |