class Stressfactor::StressCalculator

Attributes

loader[R]
threshold_pace[R]

Public Class Methods

new(threshold_pace: threshold_pace, loader: loader) click to toggle source
# File lib/stressfactor/stress_calculator.rb, line 6
def initialize(threshold_pace: threshold_pace, loader: loader)
  @threshold_pace = threshold_pace
  @loader = loader
end

Public Instance Methods

calculate() click to toggle source
# File lib/stressfactor/stress_calculator.rb, line 11
def calculate
  (total_time * normalized_graded_pace * intensity_factor * 100) / (threshold_pace * 3600)
end

Private Instance Methods

intensity_factor() click to toggle source
# File lib/stressfactor/stress_calculator.rb, line 21
def intensity_factor
  normalized_graded_pace / threshold_pace
end
normalized_graded_pace() click to toggle source
# File lib/stressfactor/stress_calculator.rb, line 25
def normalized_graded_pace
  @normalized_graded_pace ||= PaceCalculator.new(loader).calculate(strategy: :grade_adjusted, units: :metric)
end
total_time() click to toggle source
# File lib/stressfactor/stress_calculator.rb, line 17
def total_time
  loader.total_time
end