Class: BStats::NumberCrunch
- Inherits:
-
Object
- Object
- BStats::NumberCrunch
- Defined in:
- lib/bstats/number_crunch.rb
Class Method Summary collapse
- .most_improved_batting_average(from_year, to_year, min_at_bats = 200) ⇒ Object
- .team_slugging_percentage(team_id, year) ⇒ Object
- .triple_crown_winner(league, year, min_at_bats = 400) ⇒ Object
Class Method Details
.most_improved_batting_average(from_year, to_year, min_at_bats = 200) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/bstats/number_crunch.rb', line 8 def self.most_improved_batting_average(from_year, to_year, min_at_bats=200) winner = BattingAverageWinner.new() get_grouped_at_bats(from_year, min_at_bats).each do |y1stat| get_grouped_at_bats(to_year, min_at_bats).each do | y2stat | if ((y2stat.hits_sum.to_f / y2stat.at_bats_sum.to_f) - (y1stat.hits_sum.to_f / y1stat.at_bats_sum.to_f)) > winner.percent_improved winner.percent_improved = ((y2stat.hits_sum.to_f / y2stat.at_bats_sum.to_f) - (y1stat.hits_sum.to_f / y1stat.at_bats_sum.to_f)).round(3) winner.player = y2stat.player end end end return winner end |
.team_slugging_percentage(team_id, year) ⇒ Object
21 22 23 |
# File 'lib/bstats/number_crunch.rb', line 21 def self.team_slugging_percentage(team_id, year) PlayerBattingStat.where("team_id = ? AND year = ?", team_id, year) end |
.triple_crown_winner(league, year, min_at_bats = 400) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/bstats/number_crunch.rb', line 25 def self.triple_crown_winner(league, year, min_at_bats=400) winner = Winner.new() btwinner = get_batting_title_winner(league, year, min_at_bats) home_run_king = get_home_run_king(league, year, min_at_bats) if btwinner.external_id == home_run_king.external_id most_rbis = get_most_rbis(league, year, min_at_bats) if btwinner.external_id == most_rbis.external_id winner.player = btwinner.player end end return winner end |