Class: YaleBulldogs::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/yale_bulldogs/cli.rb

Instance Method Summary collapse

Instance Method Details

#callObject



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_meetsObject



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

#goodbyeObject



92
93
94
# File 'lib/yale_bulldogs/cli.rb', line 92

def goodbye
	puts "Bulldogs, bulldogs, bow bow bow, Eli Yale!"
end

#meet_informationObject



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_dataObject



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_genderObject



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_yearObject



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