calcpace 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/README.md +21 -1
- data/lib/calcpace/data/wma_2023_open_standards.yml +9 -1
- data/lib/calcpace/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: def270498a0b653086ac234f0eb1ad4337f961cc2b93729a4bf32c7e48df78ba
|
|
4
|
+
data.tar.gz: '075049703348c3cea1194b90a9f64f6cc37552fe360ce51e0d446a9edca5e729'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '083ff71a2666e55994ef03bd8184c435b1006c2029c4af97ab3546683f2d64e1422fb140c6828c001f00ad630bfc05f1caf98af53fbb9ab4d29ec603cad6ef04'
|
|
7
|
+
data.tar.gz: '00833e0d9c636730852506c360e08cfec7ecc1de2b1993a4a2560dd0f0941328c48c79e6047ca143babe3545f4b57bfd8e1e47b7c1f864c10d42ab85133390e0'
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.18.0] - 2026-09-06
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- `age_grade_label(percent)` — and therefore `age_grade`'s `:category` — splits
|
|
14
|
+
the old single `"Developing"` band below 60% into three: `"Intermediate"`
|
|
15
|
+
(50–59.9%), `"Recreational"` (40–49.9%) and `"Active Beginner"` (below 40%).
|
|
16
|
+
Most recreational runners grade under 60%, so the old catch-all told nearly
|
|
17
|
+
every one of them the same thing.
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
calc.age_grade_label(55.0) # => "Intermediate" (was "Developing")
|
|
21
|
+
calc.age_grade_label(45.0) # => "Recreational" (was "Developing")
|
|
22
|
+
calc.age_grade_label(30.0) # => "Active Beginner" (was "Developing")
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The bands at 60% and above are untouched, and no numeric output changes —
|
|
26
|
+
`age_grade_percent`, `age_graded_time_seconds` and the rest are identical.
|
|
27
|
+
This is a label-only change, so callers that match on the string
|
|
28
|
+
`"Developing"` need updating.
|
|
29
|
+
|
|
10
30
|
## [1.17.0] - 2026-09-05
|
|
11
31
|
|
|
12
32
|
### Added
|
data/README.md
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
A Ruby gem for runners: pace, time, and distance calculations, unit conversions, race predictions, GPS track analysis, age grading, VO2max estimation, and training zones.
|
|
4
4
|
|
|
5
|
+
> **See it in action:** [calcpace.app](https://calcpace.app) — free running calculators, race predictors and a training log, all powered by this gem.
|
|
6
|
+
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
7
9
|
```ruby
|
|
8
|
-
gem 'calcpace', '~> 1.
|
|
10
|
+
gem 'calcpace', '~> 1.18.0'
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
## Usage
|
|
@@ -261,6 +263,24 @@ calc.age_grade_percent(5.0, '00:22:30', age: 40, sex: :female) # => 65.2
|
|
|
261
263
|
calc.age_grade_label(65.2) # => "Local Class"
|
|
262
264
|
```
|
|
263
265
|
|
|
266
|
+
`category` (and `age_grade_label`) returns one of:
|
|
267
|
+
|
|
268
|
+
| Age grade | Category |
|
|
269
|
+
| --- | --- |
|
|
270
|
+
| 100%+ | Approximate World Record Level |
|
|
271
|
+
| 90–99.9% | World Class |
|
|
272
|
+
| 80–89.9% | National Class |
|
|
273
|
+
| 70–79.9% | Regional Class |
|
|
274
|
+
| 60–69.9% | Local Class |
|
|
275
|
+
| 50–59.9% | Intermediate |
|
|
276
|
+
| 40–49.9% | Recreational |
|
|
277
|
+
| below 40% | Active Beginner |
|
|
278
|
+
|
|
279
|
+
The bands from Local Class up are the WMA / Alan Jones convention. Those tables
|
|
280
|
+
define nothing below Local Class, so the three bands under 60% are calcpace's
|
|
281
|
+
own extension — most recreational runners land there, and one catch-all label
|
|
282
|
+
for everybody under 60% tells them nothing.
|
|
283
|
+
|
|
264
284
|
Supported distances: 5K, 10K, half marathon, marathon.
|
|
265
285
|
|
|
266
286
|
A numeric distance within **2%** of one of those is graded as that standard —
|
|
@@ -3,6 +3,10 @@ meta:
|
|
|
3
3
|
url: "https://howardgrubb.co.uk/athletics/wmatnf23.html"
|
|
4
4
|
table_version: "WMA_2023_ONE_YEAR_FACTORS_V1"
|
|
5
5
|
|
|
6
|
+
# The bands from Local Class up follow the WMA / Alan Jones convention. The
|
|
7
|
+
# WMA tables define nothing below Local Class, so the three bands under 60%
|
|
8
|
+
# are Calcpace's own extension, added to give recreational runners a
|
|
9
|
+
# meaningful label instead of a single catch-all.
|
|
6
10
|
age_grade_classifications:
|
|
7
11
|
- min: 100.0
|
|
8
12
|
label: "Approximate World Record Level"
|
|
@@ -14,8 +18,12 @@ age_grade_classifications:
|
|
|
14
18
|
label: "Regional Class"
|
|
15
19
|
- min: 60.0
|
|
16
20
|
label: "Local Class"
|
|
21
|
+
- min: 50.0
|
|
22
|
+
label: "Intermediate"
|
|
23
|
+
- min: 40.0
|
|
24
|
+
label: "Recreational"
|
|
17
25
|
- min: 0.0
|
|
18
|
-
label: "
|
|
26
|
+
label: "Active Beginner"
|
|
19
27
|
|
|
20
28
|
open_standards_seconds:
|
|
21
29
|
M:
|
data/lib/calcpace/version.rb
CHANGED