Class: RunbyPace::RunTypes::DistanceRun

Inherits:
RunbyPace::RunType show all
Defined in:
lib/runby_pace/run_types/distance_run.rb

Overview

Defines the venerable "distance run", the backbone of any distance running program. Most of your runs should be at this pace. Harder than an "easy run" but still conversational.

Defined Under Namespace

Classes: GoldenPaces

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ DistanceRun

Returns a new instance of DistanceRun.



12
13
14
15
# File 'lib/runby_pace/run_types/distance_run.rb', line 12

def initialize
  @fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 3.675)
  @slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 2.175)
end

Instance Attribute Details

#fast_pace_data ⇒ Object (readonly)

Returns the value of attribute fast_pace_data.



6
7
8
# File 'lib/runby_pace/run_types/distance_run.rb', line 6

def fast_pace_data
  @fast_pace_data
end

#slow_pace_data ⇒ Object (readonly)

Returns the value of attribute slow_pace_data.



6
7
8
# File 'lib/runby_pace/run_types/distance_run.rb', line 6

def slow_pace_data
  @slow_pace_data
end

Instance Method Details

#description ⇒ Object



8
9
10
# File 'lib/runby_pace/run_types/distance_run.rb', line 8

def description
  'Distance Run'
end

#pace(five_k_time, distance_units = :km) ⇒ Object



17
18
19
20
21
# File 'lib/runby_pace/run_types/distance_run.rb', line 17

def pace(five_k_time, distance_units = :km)
  fast = @fast_pace_data.calc(five_k_time, distance_units)
  slow = @slow_pace_data.calc(five_k_time, distance_units)
  PaceRange.new(fast, slow)
end