ufc_schedule 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe747062cec79954cc7de7d4a079306665f9d5878b439f05f48ccb1a14689ecc
4
- data.tar.gz: a5f1913b3a1aceb3f28facf938083108395f1fc7db9c21225d19ef68f230dfd0
3
+ metadata.gz: af4f2f2548cb16fdd983eaf5fe3f688db2b49ab739bb80850be82f8627c65a69
4
+ data.tar.gz: cc24f1e462ab3fd42d747099248fc0e019c3fa9e8fd6b0743b861ddf5132da66
5
5
  SHA512:
6
- metadata.gz: ff0df8aec50836bd98e344f4fa2df3198beab8b6340433c6f49e1c39cf2bf42c734d73ce3968fc5c564cac1314bfb5b1f2421e3b466cc6e6075aed95bf04f52c
7
- data.tar.gz: 9337e8102234695de2a381d56577c4dd658e74fb30db60c6eb2169b989f0a4e5af7838c37ceb8904b856e68e798826c640786401e7e8f407f537d782511fcdeb
6
+ metadata.gz: 0de3885e07bf6a09f9e01c0f6219a6c3e6b93f7bdca219d52a6a19952e0a6bd33e9a40b3c9409f03623bd74076dd419c71c0d8ef7ad73648cfeda054889f622d
7
+ data.tar.gz: aaa004d6a53f4eacceff9f0177ea6ef470c5c8a481190bf976eb34ab22c31801b6f864c94198d3dd5869beed7ec80a0310776e8580882bb1d439ba36d01a6dcb
data/lib/api.rb CHANGED
@@ -11,7 +11,9 @@ class Concerns::API
11
11
  def self.scrape_fights(array_of_events)
12
12
  #for each event id this will scrape event data iterate through the fights and create EventFight objects for each fight on the event and associate those fights to an event
13
13
  #binding.pry
14
+ self.reset_data #resets fight.all for back funtionality
14
15
  array_of_events.each do |event|
16
+ event.clear_fights #resets events.event_fights array
15
17
 
16
18
  doc = Nokogiri::HTML(open("http://ufc-data-api.ufc.com/api/v1/us/events/#{event.id}"))
17
19
 
@@ -38,4 +40,7 @@ class Concerns::API
38
40
  end
39
41
  end
40
42
 
43
+ def self.reset_data
44
+ Concerns::EventFight.clear
45
+ end
41
46
  end
@@ -9,7 +9,7 @@ extend Concerns::SharedCLIMethods
9
9
 
10
10
  def greeting
11
11
  #greets the user and makes a call to the UFC API to request schedule data
12
- puts "Hello fight fan, welcome to your UFC gem! To view a list of upcoming UFC events enter '1'. To exit this gem at any time, enter 'exit'."
12
+ puts "Hello fight fan, welcome to your UFC gem! To view a list of upcoming UFC events enter '1'. To exit this gem at any time, enter 'exit'. To go back to the previous menu, enter 'back'."
13
13
  puts ""
14
14
  Concerns::API.get_categories
15
15
  end
@@ -18,15 +18,15 @@ extend Concerns::SharedCLIMethods
18
18
  #Takes user input and returns schedule if input == "1"
19
19
  input = nil
20
20
 
21
- while input != "exit"
22
- input = gets.strip
23
- if input == "1"
24
- list_schedule
25
- #breaks the loop so person only has to type 'exit' once to leave the program
26
- break
27
- elsif input != "exit" && input != "1"
28
- invalid_command_response
29
- end
21
+ input = gets.strip
22
+ if input == "1"
23
+ list_schedule
24
+ elsif input == "exit"
25
+ goodbye
26
+ exit
27
+ else
28
+ invalid_command_response
29
+ choose_to_view_schedule
30
30
  end
31
31
  end
32
32
 
@@ -42,25 +42,26 @@ extend Concerns::SharedCLIMethods
42
42
  def choose_fight_card
43
43
  #Scrapes all the fights from all of the events listed on the schedule and creates fight objects related to each event. Allows user to choose an event, if valid, it will list fights for that event
44
44
  Concerns::API.scrape_fights(Concerns::Events.all)
45
-
46
- input = nil
47
-
48
- while input != "exit"
49
45
  input = gets.strip
50
- if input.to_i > 0 && input.to_i <= Concerns::Events.all.size
46
+
47
+ if input.to_i.between?(1, Concerns::Events.all.size)
51
48
  list_fights(input.to_i)
52
- else
49
+ elsif input == "back"
50
+ list_schedule
51
+ elsif input == "exit"
52
+ exit
53
+ else
53
54
  invalid_command_response
55
+ choose_fight_card
54
56
  end
55
- end
56
57
  end
57
58
 
58
59
  def list_fights(input)
59
60
  #finds an event and lists the fights on that event and calls the choose_fight function
60
61
  find_event = Concerns::Events.all[input - 1]
61
62
 
62
- find_event.event_fights.each_with_index do |fight, index|
63
- puts "#{index +1 }. #{fight.red_name} vs. #{fight.blue_name} - #{fight.red_weight}"
63
+ find_event.event_fights.each_with_index do |fight, index|
64
+ puts "#{index + 1}. #{fight.red_name} vs. #{fight.blue_name} - #{fight.red_weight}"
64
65
  end
65
66
  choose_fight(find_event)
66
67
  end
@@ -68,25 +69,27 @@ extend Concerns::SharedCLIMethods
68
69
  def choose_fight(event)
69
70
  #Allows user to choose a specific fight and pulls stats on fighters in that fight
70
71
  puts ""
71
- puts "To see stats of the fighters, enter the number of their corresponding fight"
72
+ puts "To see stats of the fighters, enter the number of their corresponding fight, or enter 'back' to go back to the schedule"
72
73
 
73
- input = nil
74
- while input != "exit"
75
- input = gets.strip
76
-
77
- if input.to_i <= event.event_fights.count
78
- specific_fight = event.event_fights[input.to_i - 1]
79
- puts "Name: #{specific_fight.red_name} #{specific_fight.blue_name}"
80
- puts "Record: #{specific_fight.red_record} #{specific_fight.blue_record}"
81
- puts "Height: #{specific_fight.red_height} #{specific_fight.blue_height}"
82
- puts "Weight: #{specific_fight.red_weight} #{specific_fight.blue_weight}"
83
- break
84
-
85
- elsif input.to_i <= 0 || input.to_i > event.event_fights.count
86
- invalid_command_response
87
- choose_fight(event)
88
- break
89
- end
74
+ input = gets.strip
75
+ #14.between?(10,20) # true
76
+
77
+ if input.to_i.between?(1, event.event_fights.count)
78
+ specific_fight = event.event_fights[input.to_i - 1]
79
+ puts "Name: #{specific_fight.red_name} #{specific_fight.blue_name}"
80
+ puts "Record: #{specific_fight.red_record} #{specific_fight.blue_record}"
81
+ puts "Height: #{specific_fight.red_height} #{specific_fight.blue_height}"
82
+ puts "Weight: #{specific_fight.red_weight} #{specific_fight.blue_weight}"
83
+
84
+ choose_fight(event)
85
+ elsif input == "exit"
86
+ goodbye
87
+ exit
88
+ elsif input == "back"
89
+ list_schedule
90
+ else
91
+ invalid_command_response
92
+ choose_fight(event)
90
93
  end
91
94
  end
92
95
 
data/lib/event_fight.rb CHANGED
@@ -16,4 +16,8 @@ class Concerns::EventFight
16
16
  @@all
17
17
  end
18
18
 
19
+ def self.clear
20
+ @@all.clear
21
+ end
22
+
19
23
  end
data/lib/events.rb CHANGED
@@ -50,4 +50,12 @@ class Concerns::Events
50
50
  Time.parse(event.date).strftime("%B %d, %Y")
51
51
  end
52
52
 
53
+ def self.clear
54
+ self.all.clear
55
+ end
56
+
57
+ def clear_fights
58
+ @event_fights.clear
59
+ end
60
+
53
61
  end
@@ -1,3 +1,3 @@
1
1
  module UfcSchedule
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ufc_schedule
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Quattrone
@@ -137,6 +137,7 @@ files:
137
137
  - lib/shared_methods/shared_cli_methods.rb
138
138
  - lib/ufc_schedule.rb
139
139
  - lib/ufc_schedule/version.rb
140
+ - ufc_schedule-0.1.2.gem
140
141
  - ufc_schedule.gemspec
141
142
  homepage: https://github.com/JoeQuattroneufc_schedule
142
143
  licenses: