Class: RunbyPace::RunTypes::DistanceRun

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

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