class Bagel::Tennis::Stats::FirstServePointsWon

Public Instance Methods

name() click to toggle source
# File lib/bagel/tennis/stats/first_serve_points_won.rb, line 5
def name
  '1st SERVE POINTS WON'
end
superior() click to toggle source
# File lib/bagel/tennis/stats/first_serve_points_won.rb, line 13
def superior
  [ p1_percentage > p2_percentage, p2_percentage > p1_percentage ]
end
values() click to toggle source
# File lib/bagel/tennis/stats/first_serve_points_won.rb, line 9
def values
  [ p1_label, p2_label ]
end

Private Instance Methods

calculate() click to toggle source
# File lib/bagel/tennis/stats/first_serve_points_won.rb, line 19
def calculate
  p1_first_serves = points.select(&:p1_serve?).select(&:no_faults?)
  p2_first_serves = points.select(&:p2_serve?).select(&:no_faults?)

  p1_first_serves_won = p1_first_serves.select(&:p1_won?)
  p2_first_serves_won = p2_first_serves.select(&:p2_won?)

  @p1_percentage = percentage(p1_first_serves.count, p1_first_serves_won.count)
  @p2_percentage = percentage(p2_first_serves.count, p2_first_serves_won.count)

  @p1_label = label(p1_first_serves.count, p1_first_serves_won.count, p1_percentage)
  @p2_label = label(p2_first_serves.count, p2_first_serves_won.count, p2_percentage)
end