runby_pace 0.6.91 → 0.6.94

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjdhNDYyNjQzZmE3ZTQzNDU3MTlhMmIzYWY0OTgxMWUwNmJlMTJlZA==
4
+ ZmNhZWE5YjE0YmI5MzQxZGUxNDBjZjk0MWRiNzRkYmViYTY1ZTJkMg==
5
5
  data.tar.gz: !binary |-
6
- Y2IyYWI4MTNlMTVkNDdkOGM2NTI2YjljMzEyMzgzNjNlNmM4NzkyYQ==
6
+ YmUzY2JjOWQ4YWRlZTlhYWRiMjZiMDU0YTFjNDVmNWExYmQwOTE5MQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDg2MDRkMjAzN2MyY2ZhZjk2ODFjZjBlMGMxOGEyNjViNjM2YWFhOWM0Njcz
10
- OTY5ODljYjY4NzUzMmI1MWViZWE5ZDg3MzUzNGE2MTNmZTI2MjdkYTY0Y2Vm
11
- Yzg4MDM3MDAxMWE1NTk1YjQ2MGI4ZjczZTM5MWYxN2NiYWVmMDk=
9
+ YWY1NTBhOGU1M2FiOTA0ZTliM2E5YjUwM2MxZWQwNjgzMGNmYjBjNWM5YzIw
10
+ Mjc3NTFiOGM3YzVjYzMzOTg5NmZjNjZmODUxYzIwYWU1NmZkYTkxYTcyNGU1
11
+ NWVjMzg3NGZjNGJmMGMxMzMxYjlkYzYwMWRhNjkwZWYxMzVkM2Q=
12
12
  data.tar.gz: !binary |-
13
- NzE0ZDFmNjM3NWRlMjQzNWNhZjIyMDJiNGEwZTU4ZGQzMWViNjhiM2U0NmFi
14
- N2QwOGI5ODA1OGQ2ZmM1OTNkMDYyZTJkZWI2NWI4NTNhNjhjOGNlNTUwODFh
15
- NTJiYjZjYTBlYjRkYjUwMGViYTMzZDhjMmMwN2FmZTBmZWQxZTU=
13
+ MDQ4ZmYwYTU2ZTI3ZGE3YzkxZjlhZGIwNjY5ZGRjNDU4M2FmMWVhNzFhYmI4
14
+ YTA0ZTc0ODYwZTBhMDFiMWY0ZjkwZjI1Y2IzMmE3Mzg4NmMxZTU3M2Q4ZDBk
15
+ ZjQ3ZTE0NGNiODM4ZDlhM2VkMTIxYmY0NTg2ZjNkZDgzNzA0Y2U=
@@ -1,6 +1,6 @@
1
1
  module Runby
2
2
  # Encapsulates the algorithms used to calculate target paces.
3
- class PaceData
3
+ class PaceCalculator
4
4
  # The number of data points plotted on our line of 5K times.
5
5
  # We take 5K times from 14:00 to 42:00 with a sample rate
6
6
  # of 30 seconds, and out pops 57.
@@ -5,7 +5,7 @@ module Runby
5
5
  'No description'
6
6
  end
7
7
 
8
- def pace(five_k_time, distance_units = :km)
8
+ def lookup_pace(five_k_time, distance_units = :km)
9
9
  end
10
10
  end
11
11
 
@@ -3,20 +3,20 @@ module Runby
3
3
  # Defines the venerable "distance run", the backbone of any distance running program.
4
4
  # Most of your runs should be at this pace. Harder than an "easy run" but still conversational.
5
5
  class DistanceRun < RunType
6
- attr_reader :slow_pace_data, :fast_pace_data
6
+ attr_reader :slow_pace_calculator, :fast_pace_calculator
7
7
 
8
8
  def description
9
9
  'Distance Run'
10
10
  end
11
11
 
12
12
  def initialize
13
- @fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 3.675)
14
- @slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 2.175)
13
+ @fast_pace_calculator = PaceCalculator.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 3.675)
14
+ @slow_pace_calculator = PaceCalculator.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 2.175)
15
15
  end
16
16
 
17
- def pace(five_k_time, distance_units = :km)
18
- fast = @fast_pace_data.calc(five_k_time, distance_units)
19
- slow = @slow_pace_data.calc(five_k_time, distance_units)
17
+ def lookup_pace(five_k_time, distance_units = :km)
18
+ fast = @fast_pace_calculator.calc(five_k_time, distance_units)
19
+ slow = @slow_pace_calculator.calc(five_k_time, distance_units)
20
20
  PaceRange.new(fast, slow)
21
21
  end
22
22
 
@@ -2,20 +2,20 @@ module Runby
2
2
  module RunTypes
3
3
  # An easy run is basically a jog. It should be conversational.
4
4
  class EasyRun < RunType
5
- attr_reader :slow_pace_data, :fast_pace_data
5
+ attr_reader :slow_pace_calculator, :fast_pace_calculator
6
6
 
7
7
  def description
8
8
  'Easy Run'
9
9
  end
10
10
 
11
11
  def initialize
12
- @fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 1.99)
13
- @slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.35)
12
+ @fast_pace_calculator = PaceCalculator.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 1.99)
13
+ @slow_pace_calculator = PaceCalculator.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.35)
14
14
  end
15
15
 
16
- def pace(five_k_time, distance_units = :km)
17
- fast = @fast_pace_data.calc(five_k_time, distance_units)
18
- slow = @slow_pace_data.calc(five_k_time, distance_units)
16
+ def lookup_pace(five_k_time, distance_units = :km)
17
+ fast = @fast_pace_calculator.calc(five_k_time, distance_units)
18
+ slow = @slow_pace_calculator.calc(five_k_time, distance_units)
19
19
  PaceRange.new(fast, slow)
20
20
  end
21
21
 
@@ -9,8 +9,8 @@ module Runby
9
9
  'Fast Tempo Run'
10
10
  end
11
11
 
12
- def pace(five_k_time, distance_units = :km)
13
- fast = @fast_pace_data.calc(five_k_time, distance_units)
12
+ def lookup_pace(five_k_time, distance_units = :km)
13
+ fast = @fast_pace_calculator.calc(five_k_time, distance_units)
14
14
  PaceRange.new(fast, fast)
15
15
  end
16
16
  end
@@ -3,8 +3,8 @@ module Runby
3
3
  module RunTypes
4
4
  # Currently, to find the radius of the curve in the pace table data for a given run time,
5
5
  # we start with a radius equal to that of the midpoint of the X axis for the data when
6
- # plotted on a graph. Then we use a radius divisor for the PaceData for each run type to
7
- # dial in the height of the curve. (See Runby::PaceData)
6
+ # plotted on a graph. Then we use a radius divisor for the PaceCalculator for each run type to
7
+ # dial in the height of the curve. (See Runby::PaceCalculator)
8
8
  # This method, #find_divisor, accepts a hash of "golden paces" for a run type along with
9
9
  # the number of seconds of allowable deviation from the golden pace. Then it proceeds
10
10
  # to brute force the divisor.
@@ -21,7 +21,7 @@ module Runby
21
21
 
22
22
  golden_paces.each do |five_k, golden_pace|
23
23
  five_k_time = Runby::RunbyTime.new(five_k.to_s)
24
- pace_data = Runby::PaceData.new(first_pace, last_pace, candidate_divisor)
24
+ pace_data = Runby::PaceCalculator.new(first_pace, last_pace, candidate_divisor)
25
25
  calculated_pace = pace_data.calc(five_k_time)
26
26
  unless calculated_pace.time.almost_equals?(golden_pace, allowable_deviation)
27
27
  viable_divisor = nil
@@ -3,20 +3,20 @@ module Runby
3
3
  # Arguably one of the most important run types, the "long run" is harder than an "easy run", but easier than
4
4
  # a "distance run". It should remain conversational.
5
5
  class LongRun < RunType
6
- attr_reader :slow_pace_data, :fast_pace_data
6
+ attr_reader :slow_pace_calculator, :fast_pace_calculator
7
7
 
8
8
  def description
9
9
  'Long Run'
10
10
  end
11
11
 
12
12
  def initialize
13
- @fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 2.125)
14
- @slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.55)
13
+ @fast_pace_calculator = PaceCalculator.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 2.125)
14
+ @slow_pace_calculator = PaceCalculator.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.55)
15
15
  end
16
16
 
17
- def pace(five_k_time, distance_units = :km)
18
- fast = @fast_pace_data.calc(five_k_time, distance_units)
19
- slow = @slow_pace_data.calc(five_k_time, distance_units)
17
+ def lookup_pace(five_k_time, distance_units = :km)
18
+ fast = @fast_pace_calculator.calc(five_k_time, distance_units)
19
+ slow = @slow_pace_calculator.calc(five_k_time, distance_units)
20
20
  PaceRange.new(fast, slow)
21
21
  end
22
22
 
@@ -8,8 +8,8 @@ module Runby
8
8
  'Slow Tempo Run'
9
9
  end
10
10
 
11
- def pace(five_k_time, distance_units = :km)
12
- slow = @slow_pace_data.calc(five_k_time, distance_units)
11
+ def lookup_pace(five_k_time, distance_units = :km)
12
+ slow = @slow_pace_calculator.calc(five_k_time, distance_units)
13
13
  PaceRange.new(slow, slow)
14
14
  end
15
15
  end
@@ -2,20 +2,20 @@ module Runby
2
2
  module RunTypes
3
3
  # Combines the fast and slow tempo runs into one convenient range of paces
4
4
  class TempoRun < RunType
5
- attr_reader :slow_pace_data, :fast_pace_data
5
+ attr_reader :slow_pace_calculator, :fast_pace_calculator
6
6
 
7
7
  def description
8
8
  'Tempo Run'
9
9
  end
10
10
 
11
11
  def initialize
12
- @fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 4.025)
13
- @slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 3.725)
12
+ @fast_pace_calculator = PaceCalculator.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 4.025)
13
+ @slow_pace_calculator = PaceCalculator.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 3.725)
14
14
  end
15
15
 
16
- def pace(five_k_time, distance_units = :km)
17
- fast = @fast_pace_data.calc(five_k_time, distance_units)
18
- slow = @slow_pace_data.calc(five_k_time, distance_units)
16
+ def lookup_pace(five_k_time, distance_units = :km)
17
+ fast = @fast_pace_calculator.calc(five_k_time, distance_units)
18
+ slow = @slow_pace_calculator.calc(five_k_time, distance_units)
19
19
  PaceRange.new(fast, slow)
20
20
  end
21
21
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runby_pace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.91
4
+ version: 0.6.94
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ty Walls
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-26 00:00:00.000000000 Z
11
+ date: 2016-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,7 +76,7 @@ files:
76
76
  - lib/runby_pace/distance.rb
77
77
  - lib/runby_pace/distance_unit.rb
78
78
  - lib/runby_pace/pace.rb
79
- - lib/runby_pace/pace_data.rb
79
+ - lib/runby_pace/pace_calculator.rb
80
80
  - lib/runby_pace/pace_range.rb
81
81
  - lib/runby_pace/run_math.rb
82
82
  - lib/runby_pace/run_type.rb
@@ -99,7 +99,7 @@ homepage: https://github.com/tygerbytes/runby-pace
99
99
  licenses:
100
100
  - MIT
101
101
  metadata:
102
- commit-hash: bca3bf3dde2a647c39066155a2eaba08968521ce
102
+ commit-hash: 4801763d3e46a9ae2f309aa80b8c1d9d7a074e15
103
103
  post_install_message:
104
104
  rdoc_options: []
105
105
  require_paths: