Class: Stattleship::Models::ScoringPlay
- Inherits:
-
OpenStruct
- Object
- OpenStruct
- Stattleship::Models::ScoringPlay
- Defined in:
- lib/stattleship/models/scoring_play.rb
Instance Method Summary collapse
- #assist_names ⇒ Object
- #assists ⇒ Object
- #at ⇒ Object
- #away_team ⇒ Object
- #away_team_name ⇒ Object
- #city ⇒ Object
- #home_team ⇒ Object
- #home_team_name ⇒ Object
- #league_abbreviation ⇒ Object
- #league_name ⇒ Object
- #opponent_full_name ⇒ Object
- #opponent_name ⇒ Object
- #period ⇒ Object
- #period_abbreviation ⇒ Object
- #period_time ⇒ Object
- #player_name ⇒ Object
- #scoreline ⇒ Object
- #scorer ⇒ Object
- #scorer_name ⇒ Object
- #scorers ⇒ Object
- #scoring_player_names ⇒ Object
- #scoring_player_role_names ⇒ Object
- #scoring_players_info ⇒ Object
- #team_full_name ⇒ Object
- #team_name ⇒ Object
- #to_sentence ⇒ Object
- #venue ⇒ Object
- #venue_name ⇒ Object
- #vs ⇒ Object
- #winning_team ⇒ Object
- #winning_team_name ⇒ Object
Instance Method Details
#assist_names ⇒ Object
100 101 102 103 104 105 106 |
# File 'lib/stattleship/models/scoring_play.rb', line 100 def assist_names if assists && assists.count > 0 assists.map(&:player_name).join(', ') else 'Unassisted' end end |
#assists ⇒ Object
92 93 94 95 96 97 98 |
# File 'lib/stattleship/models/scoring_play.rb', line 92 def assists return unless scoring_players scoring_players.select do |scoring_player| scoring_player.role == 'assist' end end |
#at ⇒ Object
124 125 126 |
# File 'lib/stattleship/models/scoring_play.rb', line 124 def at "#{period_time} of #{period}" end |
#away_team ⇒ Object
4 5 6 |
# File 'lib/stattleship/models/scoring_play.rb', line 4 def away_team game.away_team end |
#away_team_name ⇒ Object
16 17 18 |
# File 'lib/stattleship/models/scoring_play.rb', line 16 def away_team_name away_team.name end |
#city ⇒ Object
28 29 30 |
# File 'lib/stattleship/models/scoring_play.rb', line 28 def city venue.city end |
#home_team ⇒ Object
8 9 10 |
# File 'lib/stattleship/models/scoring_play.rb', line 8 def home_team game.home_team end |
#home_team_name ⇒ Object
20 21 22 |
# File 'lib/stattleship/models/scoring_play.rb', line 20 def home_team_name home_team.name end |
#league_abbreviation ⇒ Object
36 37 38 |
# File 'lib/stattleship/models/scoring_play.rb', line 36 def league_abbreviation league.abbreviation end |
#league_name ⇒ Object
32 33 34 |
# File 'lib/stattleship/models/scoring_play.rb', line 32 def league_name league.name end |
#opponent_full_name ⇒ Object
48 49 50 |
# File 'lib/stattleship/models/scoring_play.rb', line 48 def opponent_full_name opponent.full_name end |
#opponent_name ⇒ Object
44 45 46 |
# File 'lib/stattleship/models/scoring_play.rb', line 44 def opponent_name opponent.name end |
#period ⇒ Object
120 121 122 |
# File 'lib/stattleship/models/scoring_play.rb', line 120 def period "#{period_number}#{period_abbreviation}" end |
#period_abbreviation ⇒ Object
112 113 114 115 116 117 118 |
# File 'lib/stattleship/models/scoring_play.rb', line 112 def period_abbreviation if game.hockey? "P" else "Q" end end |
#period_time ⇒ Object
108 109 110 |
# File 'lib/stattleship/models/scoring_play.rb', line 108 def period_time Time.at(period_seconds).utc.strftime('%M:%S') end |
#player_name ⇒ Object
40 41 42 |
# File 'lib/stattleship/models/scoring_play.rb', line 40 def player_name # player.name end |
#scoreline ⇒ Object
52 53 54 |
# File 'lib/stattleship/models/scoring_play.rb', line 52 def scoreline game.scoreline end |
#scorer ⇒ Object
80 81 82 |
# File 'lib/stattleship/models/scoring_play.rb', line 80 def scorer scorers.first if scorers end |
#scorer_name ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/stattleship/models/scoring_play.rb', line 84 def scorer_name if scorer scorer.player_name else '' end end |
#scorers ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/stattleship/models/scoring_play.rb', line 72 def scorers return unless scoring_players scoring_players.select do |scoring_player| scoring_player.role == 'scorer' end end |
#scoring_player_names ⇒ Object
128 129 130 131 132 133 134 |
# File 'lib/stattleship/models/scoring_play.rb', line 128 def scoring_player_names if scoring_players scoring_players.map(&:player_name).join(', ') else '' end end |
#scoring_player_role_names ⇒ Object
136 137 138 139 140 141 142 |
# File 'lib/stattleship/models/scoring_play.rb', line 136 def scoring_player_role_names if scoring_players scoring_players.map(&:name).join(', ') else '' end end |
#scoring_players_info ⇒ Object
144 145 146 147 148 149 150 151 152 |
# File 'lib/stattleship/models/scoring_play.rb', line 144 def scoring_players_info if scoring_players player_names = scoring_players.map(&:player_name) role_names = scoring_players.map(&:name) player_names.zip(role_names).flatten.compact.join(', ') else '' end end |
#team_full_name ⇒ Object
60 61 62 |
# File 'lib/stattleship/models/scoring_play.rb', line 60 def team_full_name team.full_name end |
#team_name ⇒ Object
56 57 58 |
# File 'lib/stattleship/models/scoring_play.rb', line 56 def team_name team.name end |
#to_sentence ⇒ Object
160 161 162 163 164 165 166 167 168 |
# File 'lib/stattleship/models/scoring_play.rb', line 160 def to_sentence if game.hockey? "#{scorer_name} (#{assist_names}) - #{at} - #{vs}" elsif game.football? "#{period_number} QTR #{period_time} - #{points} points - #{yards} yards - #{scoring_players_info} - #{vs}" else '' end end |
#venue ⇒ Object
64 65 66 |
# File 'lib/stattleship/models/scoring_play.rb', line 64 def venue game.venue end |
#venue_name ⇒ Object
68 69 70 |
# File 'lib/stattleship/models/scoring_play.rb', line 68 def venue_name venue.name end |
#vs ⇒ Object
154 155 156 157 158 |
# File 'lib/stattleship/models/scoring_play.rb', line 154 def vs if game "vs #{opponent_name} #{game.short_date}" end end |
#winning_team ⇒ Object
12 13 14 |
# File 'lib/stattleship/models/scoring_play.rb', line 12 def winning_team game.winning_team end |
#winning_team_name ⇒ Object
24 25 26 |
# File 'lib/stattleship/models/scoring_play.rb', line 24 def winning_team_name winning_team.name end |