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