runby_pace 0.2.68 → 0.2.71
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.rubocop.yml +10 -0
- data/.travis.yml +1 -1
- data/Gemfile +4 -0
- data/Rakefile +1 -1
- data/lib/runby_pace/pace_data.rb +1 -3
- data/lib/runby_pace/pace_range.rb +1 -2
- data/lib/runby_pace/pace_time.rb +28 -29
- data/lib/runby_pace/pace_units.rb +3 -6
- data/lib/runby_pace/run_math.rb +1 -3
- data/lib/runby_pace/run_type.rb +1 -3
- data/lib/runby_pace/run_types/all_run_types.template +0 -3
- data/lib/runby_pace/run_types/distance_run.rb +5 -6
- data/lib/runby_pace/run_types/easy_run.rb +5 -6
- data/lib/runby_pace/run_types/fast_tempo_run.rb +0 -2
- data/lib/runby_pace/run_types/find_divisor.rb +2 -5
- data/lib/runby_pace/run_types/long_run.rb +5 -6
- data/lib/runby_pace/run_types/slow_tempo_run.rb +0 -2
- data/lib/runby_pace/run_types/tempo_run.rb +4 -6
- data/lib/runby_pace/runby_range.rb +2 -4
- data/lib/runby_pace/speed_range.rb +1 -2
- data/runby_pace.gemspec +2 -3
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjhlYzg2MDU4ODg4Njg4MDM2ZjQ0ZjZmOTY3OGRmMDAxZmI0OGZhZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTkxZmY3YzNhMDI0OTNmZDUwNzdhMjhlYjAyZGM2YzY2MzczNjM0MQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTIxN2Q1ODdlZDE3NDFkMThjYmIyZDQ4M2UxMGIzNjRkYWM3MWQ2ZjBhNzMw
|
10
|
+
ZWY3ZjBkYTcwMzA4YmIwYjdjMTY1ZTE5NTUwYzNkOTcwZTU2NDZiMDQzZWVi
|
11
|
+
MWY4MWI4M2JmNGViODI4OGM0ODNjZjU2MzVkMTY5ZjUyOTIwZjc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDM5NTkwMzgxOTUzMWE5ZjBlMGVmNWQ3YzYyNjE2ZWMzODRiOWIxNTNmNjZl
|
14
|
+
ODE0YjdlMGZmZTE3MTUxOWY2MjJmOTU1YjZkOGRmYjA0YWFlOTRjZjhjODY3
|
15
|
+
ZTFhODk4YjYwNjFlMzZmZTY2ZWM2ZmQwOGNkZjkwZDFhOGVhNGM=
|
data/.rubocop.yml
ADDED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/lib/runby_pace/pace_data.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
class PaceData
|
4
|
-
|
5
3
|
# The number of data points plotted on our line of 5K times.
|
6
4
|
# We take 5K times from 14:00 to 42:00 with a sample rate
|
7
5
|
# of 30 seconds, and out pops 57.
|
@@ -57,7 +55,7 @@ module RunbyPace
|
|
57
55
|
# The default curve radius is the same as the midpoint of the X axis,
|
58
56
|
# forming a circle. Use #midpoint_radius_divisor to reduce it's size.
|
59
57
|
def curve_minutes(x_axis)
|
60
|
-
return 0 if @midpoint_radius_divisor
|
58
|
+
return 0 if @midpoint_radius_divisor.zero?
|
61
59
|
midpoint_reduction = x_axis
|
62
60
|
midpoint = MIDPOINT_X
|
63
61
|
if midpoint_reduction > midpoint
|
data/lib/runby_pace/pace_time.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
class PaceTime
|
4
3
|
attr_reader :time_s, :minutes_part, :seconds_part
|
5
4
|
|
@@ -22,7 +21,7 @@ module RunbyPace
|
|
22
21
|
|
23
22
|
# @param [numeric] total_minutes
|
24
23
|
def self.from_minutes(total_minutes)
|
25
|
-
|
24
|
+
from_seconds(total_minutes * 60.0)
|
26
25
|
end
|
27
26
|
|
28
27
|
def self.parse(str)
|
@@ -57,13 +56,13 @@ module RunbyPace
|
|
57
56
|
end
|
58
57
|
time_formatted = "#{minutes_part.to_s.rjust(2, '0')}:#{seconds_part.to_s.rjust(2, '0')}"
|
59
58
|
|
60
|
-
PaceTime.new(
|
59
|
+
PaceTime.new(time_s: time_formatted, minutes_part: minutes_part, seconds_part: seconds_part)
|
61
60
|
end
|
62
61
|
|
63
62
|
def self.try_parse(str, is_five_k = false)
|
64
63
|
time, error_message, warning_message = nil
|
65
64
|
begin
|
66
|
-
time =
|
65
|
+
time = parse str
|
67
66
|
rescue Exception => ex
|
68
67
|
error_message = "#{ex.message} (#{str})"
|
69
68
|
end
|
@@ -89,25 +88,25 @@ module RunbyPace
|
|
89
88
|
@minutes_part + (@seconds_part / 60.0)
|
90
89
|
end
|
91
90
|
|
92
|
-
# @param [PaceTime]
|
93
|
-
def -(
|
94
|
-
if
|
95
|
-
PaceTime.from_seconds(total_seconds -
|
91
|
+
# @param [PaceTime] other
|
92
|
+
def -(other)
|
93
|
+
if other.is_a?(PaceTime)
|
94
|
+
PaceTime.from_seconds(total_seconds - other.total_seconds)
|
96
95
|
end
|
97
96
|
end
|
98
97
|
|
99
|
-
# @param [PaceTime]
|
100
|
-
def +(
|
101
|
-
if
|
102
|
-
PaceTime.from_seconds(total_seconds +
|
98
|
+
# @param [PaceTime] other
|
99
|
+
def +(other)
|
100
|
+
if other.is_a?(PaceTime)
|
101
|
+
PaceTime.from_seconds(total_seconds + other.total_seconds)
|
103
102
|
end
|
104
103
|
end
|
105
104
|
|
106
|
-
def ==(
|
107
|
-
if
|
108
|
-
total_seconds ==
|
109
|
-
elsif
|
110
|
-
@time_s ==
|
105
|
+
def ==(other)
|
106
|
+
if other.is_a?(PaceTime)
|
107
|
+
total_seconds == other.total_seconds
|
108
|
+
elsif other.is_a?(String)
|
109
|
+
@time_s == other
|
111
110
|
end
|
112
111
|
end
|
113
112
|
|
@@ -119,27 +118,27 @@ module RunbyPace
|
|
119
118
|
self >= (other_time - tolerance) && self <= (other_time + tolerance)
|
120
119
|
end
|
121
120
|
|
122
|
-
def >(
|
123
|
-
if
|
124
|
-
total_seconds >
|
121
|
+
def >(other)
|
122
|
+
if other.is_a?(PaceTime)
|
123
|
+
total_seconds > other.total_seconds
|
125
124
|
end
|
126
125
|
end
|
127
126
|
|
128
|
-
def >=(
|
129
|
-
if
|
130
|
-
total_seconds >=
|
127
|
+
def >=(other)
|
128
|
+
if other.is_a?(PaceTime)
|
129
|
+
total_seconds >= other.total_seconds
|
131
130
|
end
|
132
131
|
end
|
133
132
|
|
134
|
-
def <(
|
135
|
-
if
|
136
|
-
total_seconds <
|
133
|
+
def <(other)
|
134
|
+
if other.is_a?(PaceTime)
|
135
|
+
total_seconds < other.total_seconds
|
137
136
|
end
|
138
137
|
end
|
139
138
|
|
140
|
-
def <=(
|
141
|
-
if
|
142
|
-
total_seconds <=
|
139
|
+
def <=(other)
|
140
|
+
if other.is_a?(PaceTime)
|
141
|
+
total_seconds <= other.total_seconds
|
143
142
|
end
|
144
143
|
end
|
145
144
|
|
@@ -1,24 +1,21 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
class PaceUnits
|
4
|
-
|
5
3
|
def self.description(units)
|
6
4
|
descriptions[units]
|
7
5
|
end
|
8
6
|
|
9
7
|
def self.distance_conversion_factor(units)
|
10
|
-
|
8
|
+
distance_conversion_factors[units]
|
11
9
|
end
|
12
10
|
|
13
11
|
private
|
14
12
|
|
15
13
|
def self.descriptions
|
16
|
-
{ :
|
14
|
+
{ km: 'Kilometers', mi: 'Miles' }
|
17
15
|
end
|
18
16
|
|
19
17
|
def self.distance_conversion_factors
|
20
|
-
{ :
|
18
|
+
{ km: 1.0, mi: 1.612903225806452 }
|
21
19
|
end
|
22
|
-
|
23
20
|
end
|
24
21
|
end
|
data/lib/runby_pace/run_math.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
class RunMath
|
4
3
|
def self.convert_pace_to_speed(pace)
|
5
4
|
pace = RunbyPace::PaceTime.new(pace)
|
@@ -8,8 +7,7 @@ module RunbyPace
|
|
8
7
|
|
9
8
|
def self.convert_speed_to_pace(units_per_hour)
|
10
9
|
raise 'units_per_hour must be numeric' unless units_per_hour.is_a? Numeric
|
11
|
-
RunbyPace::PaceTime.from_minutes
|
10
|
+
RunbyPace::PaceTime.from_minutes(60.0 / units_per_hour)
|
12
11
|
end
|
13
12
|
end
|
14
|
-
|
15
13
|
end
|
data/lib/runby_pace/run_type.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
class RunType
|
4
3
|
def description
|
5
4
|
'No description'
|
@@ -11,8 +10,7 @@ module RunbyPace
|
|
11
10
|
|
12
11
|
module RunTypes
|
13
12
|
def self.new_from_name(run_type_name)
|
14
|
-
Object
|
13
|
+
Object.const_get("RunbyPace::RunTypes::#{run_type_name}").new
|
15
14
|
end
|
16
15
|
end
|
17
|
-
|
18
16
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
module RunTypes
|
4
|
-
|
5
3
|
class DistanceRun < RunType
|
6
4
|
attr_reader :slow_pace_data, :fast_pace_data
|
7
5
|
|
@@ -10,8 +8,8 @@ module RunbyPace
|
|
10
8
|
end
|
11
9
|
|
12
10
|
def initialize
|
13
|
-
@fast_pace_data = PaceData.new(GoldenPaces
|
14
|
-
@slow_pace_data = PaceData.new(GoldenPaces
|
11
|
+
@fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 3.675)
|
12
|
+
@slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 2.175)
|
15
13
|
end
|
16
14
|
|
17
15
|
def pace(five_k_time, distance_units = :km)
|
@@ -22,10 +20,11 @@ module RunbyPace
|
|
22
20
|
|
23
21
|
class GoldenPaces
|
24
22
|
def self.fast
|
25
|
-
{ '14:00': '03:44', '15:00': '03:58', '20:00': '05:09', '25:00': '06:18', '30:00': '07:24', '35:00': '08:29', '40:00': '09:33', '42:00': '09:58'}
|
23
|
+
{ '14:00': '03:44', '15:00': '03:58', '20:00': '05:09', '25:00': '06:18', '30:00': '07:24', '35:00': '08:29', '40:00': '09:33', '42:00': '09:58' }
|
26
24
|
end
|
25
|
+
|
27
26
|
def self.slow
|
28
|
-
{ '14:00': '04:17', '15:00': '04:33', '20:00': '05:53', '25:00': '07:09', '30:00': '08:23', '35:00': '09:33', '40:00': '10:42', '42:00': '11:10'}
|
27
|
+
{ '14:00': '04:17', '15:00': '04:33', '20:00': '05:53', '25:00': '07:09', '30:00': '08:23', '35:00': '09:33', '40:00': '10:42', '42:00': '11:10' }
|
29
28
|
end
|
30
29
|
end
|
31
30
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
module RunTypes
|
4
|
-
|
5
3
|
class EasyRun < RunType
|
6
4
|
attr_reader :slow_pace_data, :fast_pace_data
|
7
5
|
|
@@ -10,8 +8,8 @@ module RunbyPace
|
|
10
8
|
end
|
11
9
|
|
12
10
|
def initialize
|
13
|
-
@fast_pace_data = PaceData.new(GoldenPaces
|
14
|
-
@slow_pace_data = PaceData.new(GoldenPaces
|
11
|
+
@fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 1.99)
|
12
|
+
@slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.35)
|
15
13
|
end
|
16
14
|
|
17
15
|
def pace(five_k_time, distance_units = :km)
|
@@ -22,10 +20,11 @@ module RunbyPace
|
|
22
20
|
|
23
21
|
class GoldenPaces
|
24
22
|
def self.fast
|
25
|
-
{ '14:00': '04:17', '15:00': '04:33', '20:00': '05:53', '25:00': '07:09', '30:00': '08:23', '35:00': '09:33', '40:00': '10:41', '42:00': '11:08'}
|
23
|
+
{ '14:00': '04:17', '15:00': '04:33', '20:00': '05:53', '25:00': '07:09', '30:00': '08:23', '35:00': '09:33', '40:00': '10:41', '42:00': '11:08' }
|
26
24
|
end
|
25
|
+
|
27
26
|
def self.slow
|
28
|
-
{ '14:00': '05:01', '15:00': '05:20', '20:00': '06:51', '25:00': '08:17', '30:00': '09:38', '35:00': '10:56', '40:00': '12:10', '42:00': '12:39'}
|
27
|
+
{ '14:00': '05:01', '15:00': '05:20', '20:00': '06:51', '25:00': '08:17', '30:00': '09:38', '35:00': '10:56', '40:00': '12:10', '42:00': '12:39' }
|
29
28
|
end
|
30
29
|
end
|
31
30
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
module RunTypes
|
4
|
-
|
5
3
|
# Currently, to find the radius of the curve in the pace table data for a given run time,
|
6
4
|
# we start with a radius equal to that of the midpoint of the X axis for the data when
|
7
5
|
# plotted on a graph. Then we use a radius divisor for the PaceData for each run type to
|
@@ -31,17 +29,16 @@ module RunbyPace
|
|
31
29
|
viable_divisor = candidate_divisor
|
32
30
|
end
|
33
31
|
|
34
|
-
if viable_divisor
|
32
|
+
if !viable_divisor.nil?
|
35
33
|
viable_divisors << viable_divisor
|
36
34
|
end
|
37
35
|
end
|
38
36
|
|
39
|
-
if viable_divisors.
|
37
|
+
if !viable_divisors.empty?
|
40
38
|
# puts viable_divisors
|
41
39
|
midpoint = (viable_divisors.length - 1) / 2
|
42
40
|
return viable_divisors[midpoint]
|
43
41
|
end
|
44
42
|
end
|
45
|
-
|
46
43
|
end
|
47
44
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
module RunTypes
|
4
|
-
|
5
3
|
class LongRun < RunType
|
6
4
|
attr_reader :slow_pace_data, :fast_pace_data
|
7
5
|
|
@@ -10,8 +8,8 @@ module RunbyPace
|
|
10
8
|
end
|
11
9
|
|
12
10
|
def initialize
|
13
|
-
@fast_pace_data = PaceData.new(GoldenPaces
|
14
|
-
@slow_pace_data = PaceData.new(GoldenPaces
|
11
|
+
@fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 2.125)
|
12
|
+
@slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 1.55)
|
15
13
|
end
|
16
14
|
|
17
15
|
def pace(five_k_time, distance_units = :km)
|
@@ -22,10 +20,11 @@ module RunbyPace
|
|
22
20
|
|
23
21
|
class GoldenPaces
|
24
22
|
def self.fast
|
25
|
-
{ '14:00': '04:00', '15:00': '04:16', '20:00': '05:31', '25:00': '06:44', '30:00': '07:54', '35:00':'09:01', '40:00':'10:07', '42:00':'10:32'}
|
23
|
+
{ '14:00': '04:00', '15:00': '04:16', '20:00': '05:31', '25:00': '06:44', '30:00': '07:54', '35:00': '09:01', '40:00': '10:07', '42:00': '10:32' }
|
26
24
|
end
|
25
|
+
|
27
26
|
def self.slow
|
28
|
-
{ '14:00': '04:39', '15:00': '04:57', '20:00': '06:22', '25:00': '07:43', '30:00': '09:00', '35:00':'10:15', '40:00':'11:26', '42:00':'11:53'}
|
27
|
+
{ '14:00': '04:39', '15:00': '04:57', '20:00': '06:22', '25:00': '07:43', '30:00': '09:00', '35:00': '10:15', '40:00': '11:26', '42:00': '11:53' }
|
29
28
|
end
|
30
29
|
end
|
31
30
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module RunbyPace
|
2
|
-
|
3
2
|
module RunTypes
|
4
|
-
|
5
3
|
class TempoRun < RunType
|
6
4
|
attr_reader :slow_pace_data, :fast_pace_data
|
7
5
|
|
@@ -10,8 +8,8 @@ module RunbyPace
|
|
10
8
|
end
|
11
9
|
|
12
10
|
def initialize
|
13
|
-
@fast_pace_data = PaceData.new(GoldenPaces
|
14
|
-
@slow_pace_data = PaceData.new(GoldenPaces
|
11
|
+
@fast_pace_data = PaceData.new(GoldenPaces.fast[:'14:00'], GoldenPaces.fast[:'42:00'], 4.025)
|
12
|
+
@slow_pace_data = PaceData.new(GoldenPaces.slow[:'14:00'], GoldenPaces.slow[:'42:00'], 3.725)
|
15
13
|
end
|
16
14
|
|
17
15
|
def pace(five_k_time, distance_units = :km)
|
@@ -22,11 +20,11 @@ module RunbyPace
|
|
22
20
|
|
23
21
|
class GoldenPaces
|
24
22
|
def self.fast
|
25
|
-
{ '14:00': '03:07', '15:00': '03:20', '20:00': '04:21', '25:00': '05:20', '30:00': '06:19', '35:00':'07:16', '40:00':'08:12', '42:00':'08:35'}
|
23
|
+
{ '14:00': '03:07', '15:00': '03:20', '20:00': '04:21', '25:00': '05:20', '30:00': '06:19', '35:00': '07:16', '40:00': '08:12', '42:00': '08:35' }
|
26
24
|
end
|
27
25
|
|
28
26
|
def self.slow
|
29
|
-
{ '14:00': '03:18', '15:00': '03:31', '20:00': '04:35', '25:00': '05:37', '30:00': '06:38', '35:00':'07:38', '40:00':'08:36', '42:00':'08:59'}
|
27
|
+
{ '14:00': '03:18', '15:00': '03:31', '20:00': '04:35', '25:00': '05:37', '30:00': '06:38', '35:00': '07:38', '40:00': '08:36', '42:00': '08:59' }
|
30
28
|
end
|
31
29
|
end
|
32
30
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require_relative 'runby_range'
|
2
2
|
|
3
3
|
module RunbyPace
|
4
|
-
|
5
4
|
class SpeedRange < RunbyRange
|
6
5
|
def initialize(fast, slow)
|
7
6
|
raise 'Invalid speed values' unless fast.is_a?(Numeric) && slow.is_a?(Numeric)
|
@@ -15,4 +14,4 @@ module RunbyPace
|
|
15
14
|
SpeedRange.new fast, slow
|
16
15
|
end
|
17
16
|
end
|
18
|
-
end
|
17
|
+
end
|
data/runby_pace.gemspec
CHANGED
@@ -9,11 +9,11 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ['Ty Walls']
|
10
10
|
spec.email = ['tygerbytes@users.noreply.github.com']
|
11
11
|
|
12
|
-
spec.summary = %q
|
12
|
+
spec.summary = %q(Runby Pace is the core logic which simplifies the calculation of target paces used by track and distance runners.)
|
13
13
|
spec.homepage = 'https://github.com/tygerbytes/runby-pace'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
|
-
spec.metadata = { 'commit-hash' => `git log -n 1 --pretty=format:"%H"`}
|
16
|
+
spec.metadata = { 'commit-hash' => `git log -n 1 --pretty=format:"%H"` }
|
17
17
|
|
18
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
19
|
spec.files += `git ls-files -z --other */all_run_types.g.rb`.split("\x0")
|
@@ -26,5 +26,4 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency 'bundler', '~> 1.12'
|
27
27
|
spec.add_development_dependency 'rake', '~> 10.0'
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
29
|
-
|
30
29
|
end
|
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.2.
|
4
|
+
version: 0.2.71
|
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-
|
11
|
+
date: 2016-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -61,6 +61,7 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- .gitignore
|
63
63
|
- .rspec
|
64
|
+
- .rubocop.yml
|
64
65
|
- .travis.yml
|
65
66
|
- Gemfile
|
66
67
|
- Guardfile
|
@@ -96,7 +97,7 @@ homepage: https://github.com/tygerbytes/runby-pace
|
|
96
97
|
licenses:
|
97
98
|
- MIT
|
98
99
|
metadata:
|
99
|
-
commit-hash:
|
100
|
+
commit-hash: 0be7822d124d28b3fcd852ac12bc1019eba9fae2
|
100
101
|
post_install_message:
|
101
102
|
rdoc_options: []
|
102
103
|
require_paths:
|