class Stressfactor::GradeAdjustedPaceStrategy

Attributes

interval[RW]

Public Class Methods

calculate_for_interval(interval) click to toggle source
# File lib/stressfactor/grade_adjusted_pace_strategy.rb, line 7
def self.calculate_for_interval(interval)
  observed_pace = interval.time(units: :minutes) / interval.distance
  interval.grade > 0 ? incline_pace(interval, observed_pace) : decline_pace(interval, observed_pace)
end
decline_pace(interval, observed_pace) click to toggle source
# File lib/stressfactor/grade_adjusted_pace_strategy.rb, line 12
def self.decline_pace(interval, observed_pace)
  coefficient_per_grade_point = 0.01815
  grade = interval.grade
  observed_pace / (1 - (coefficient_per_grade_point * grade))
end
incline_pace(interval, observed_pace) click to toggle source
# File lib/stressfactor/grade_adjusted_pace_strategy.rb, line 18
def self.incline_pace(interval, observed_pace)
  coefficient_per_grade_point = 0.033
  grade = interval.grade
  observed_pace / (1 + (coefficient_per_grade_point * grade))
end