fit4ruby 0.0.8 → 0.0.9
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/lib/fit4ruby/Activity.rb +24 -3
- data/lib/fit4ruby/Converters.rb +3 -1
- data/lib/fit4ruby/FitFile.rb +1 -0
- data/lib/fit4ruby/GlobalFitDictionaries.rb +21 -0
- data/lib/fit4ruby/GlobalFitMessages.rb +48 -0
- data/lib/fit4ruby/HRV.rb +33 -0
- data/lib/fit4ruby/Log.rb +14 -3
- data/lib/fit4ruby/version.rb +1 -1
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03a178c07a618005acb996433ce4c8d1dd4f1cce
|
4
|
+
data.tar.gz: 84ee7b840af9cfac5411bd4480737cdf8e4fcaff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd71d3ffafc982031ae56a62ab8c76780a329346108717d2f54b3a2f7e82c866da5e424167530a4b5452bc48916ab24ec037ab43c4cdd4e6ce30259e3280bada
|
7
|
+
data.tar.gz: 5e9cab1af4d8a3bd048b73ab44a60cbc475d228e50c20746ca33cc027d0aa6c89d39e928d72ac111e438afc62c3ef0bf1dfd52bdccd46b8f3e18a89f3e2f7361
|
data/lib/fit4ruby/Activity.rb
CHANGED
@@ -19,6 +19,7 @@ require 'fit4ruby/UserProfile'
|
|
19
19
|
require 'fit4ruby/Session'
|
20
20
|
require 'fit4ruby/Lap'
|
21
21
|
require 'fit4ruby/Record'
|
22
|
+
require 'fit4ruby/HRV'
|
22
23
|
require 'fit4ruby/Event'
|
23
24
|
require 'fit4ruby/PersonalRecords'
|
24
25
|
|
@@ -30,7 +31,7 @@ module Fit4Ruby
|
|
30
31
|
class Activity < FitDataRecord
|
31
32
|
|
32
33
|
attr_accessor :file_id, :file_creator, :device_infos, :data_sources,
|
33
|
-
:user_profiles, :sessions, :laps, :records,
|
34
|
+
:user_profiles, :sessions, :laps, :records, :hrv,
|
34
35
|
:events, :personal_records
|
35
36
|
|
36
37
|
# Create a new Activity object.
|
@@ -50,6 +51,7 @@ module Fit4Ruby
|
|
50
51
|
@sessions = []
|
51
52
|
@laps = []
|
52
53
|
@records = []
|
54
|
+
@hrv = []
|
53
55
|
@personal_records = []
|
54
56
|
|
55
57
|
@cur_session_laps = []
|
@@ -111,24 +113,31 @@ module Fit4Ruby
|
|
111
113
|
# the total distance purely on the GPS coordinates found in the records.
|
112
114
|
d = 0.0
|
113
115
|
last_lat = last_long = nil
|
116
|
+
last_timestamp = nil
|
114
117
|
|
115
118
|
# Iterate over all the records and accumlate the distances between the
|
116
119
|
# neiboring coordinates.
|
117
120
|
@records.each do |r|
|
118
121
|
if (lat = r.position_lat) && (long = r.position_long)
|
119
122
|
if last_lat && last_long
|
120
|
-
|
121
|
-
|
123
|
+
distance = Fit4Ruby::GeoMath.distance(last_lat, last_long,
|
124
|
+
lat, long)
|
125
|
+
d += distance
|
126
|
+
end
|
127
|
+
if last_timestamp
|
128
|
+
speed = distance / (r.timestamp - last_timestamp)
|
122
129
|
end
|
123
130
|
if timer_stops[0] == r.timestamp
|
124
131
|
# If a stop event was found for this record timestamp we clear the
|
125
132
|
# last_* values so that the distance covered while being stopped
|
126
133
|
# is not added to the total.
|
127
134
|
last_lat = last_long = nil
|
135
|
+
last_timestamp = nil
|
128
136
|
timer_stops.shift
|
129
137
|
else
|
130
138
|
last_lat = lat
|
131
139
|
last_long = long
|
140
|
+
last_timestamp = r.timestamp
|
132
141
|
end
|
133
142
|
end
|
134
143
|
end
|
@@ -163,6 +172,16 @@ module Fit4Ruby
|
|
163
172
|
nil
|
164
173
|
end
|
165
174
|
|
175
|
+
# Returns the remaining recovery time at the start of the activity.
|
176
|
+
# @return remaining recovery time in seconds.
|
177
|
+
def recovery_info
|
178
|
+
@events.each do |e|
|
179
|
+
return e.recovery_info if e.event == 'recovery_info'
|
180
|
+
end
|
181
|
+
|
182
|
+
nil
|
183
|
+
end
|
184
|
+
|
166
185
|
# Returns the predicted recovery time needed after this activity.
|
167
186
|
# @return recovery time in seconds.
|
168
187
|
def recovery_time
|
@@ -350,6 +369,8 @@ module Fit4Ruby
|
|
350
369
|
when 'record'
|
351
370
|
@cur_lap_records << (record = Record.new(field_values))
|
352
371
|
@records << record
|
372
|
+
when 'hrv'
|
373
|
+
@hrv << (record = HRV.new(field_values))
|
353
374
|
when 'personal_records'
|
354
375
|
@personal_records << (record = PersonalRecords.new(field_values))
|
355
376
|
else
|
data/lib/fit4ruby/Converters.rb
CHANGED
@@ -39,7 +39,9 @@ module Fit4Ruby
|
|
39
39
|
|
40
40
|
def speedToPace(speed, distance = 1000.0)
|
41
41
|
if speed && speed > 0.01
|
42
|
-
|
42
|
+
# We only show 2 fractional digits, so make sure we round accordingly
|
43
|
+
# before we crack it up.
|
44
|
+
pace = (distance.to_f / (speed * 60.0)).round(2)
|
43
45
|
int, dec = pace.divmod 1
|
44
46
|
"#{int}:#{'%02d' % (dec * 60)}"
|
45
47
|
else
|
data/lib/fit4ruby/FitFile.rb
CHANGED
@@ -66,6 +66,13 @@ module Fit4Ruby
|
|
66
66
|
entry 4, 'low'
|
67
67
|
entry 5, 'critical'
|
68
68
|
|
69
|
+
dict 'comm_timeout_type'
|
70
|
+
entry 0, 'wildcard_paring_timeout'
|
71
|
+
entry 1, 'pairing_timeout'
|
72
|
+
entry 2, 'connection_lost'
|
73
|
+
entry 3, 'connection_timeout'
|
74
|
+
|
75
|
+
|
69
76
|
dict 'device_type'
|
70
77
|
entry 0, 'gps' # Just a guess
|
71
78
|
entry 3, 'acceleration' # Just a guess
|
@@ -129,6 +136,10 @@ module Fit4Ruby
|
|
129
136
|
entry 39, 'recovery_info' # guess (in minutes, < 24 good, > 24h poor)
|
130
137
|
entry 42, 'front_gear_change'
|
131
138
|
entry 43, 'rear_gear_change'
|
139
|
+
entry 44, 'rider_position_change'
|
140
|
+
entry 45, 'elev_high_alert'
|
141
|
+
entry 46, 'elev_low_alert'
|
142
|
+
entry 47, 'comm_timeout'
|
132
143
|
|
133
144
|
dict 'event_type'
|
134
145
|
entry 0, 'start_time'
|
@@ -159,6 +170,12 @@ module Fit4Ruby
|
|
159
170
|
entry 28, 'monitoring_daily'
|
160
171
|
entry 32, 'monitoring_b'
|
161
172
|
|
173
|
+
dict 'fitness_equipment_state'
|
174
|
+
entry 0, 'ready'
|
175
|
+
entry 1, 'in_use'
|
176
|
+
entry 2, 'paused'
|
177
|
+
entry 3, 'unknown'
|
178
|
+
|
162
179
|
dict 'garmin_product'
|
163
180
|
entry 8, 'hrm_run_single_byte_product_id'
|
164
181
|
entry 1551, 'fenix'
|
@@ -314,6 +331,10 @@ module Fit4Ruby
|
|
314
331
|
entry 0x7000, 'reserved'
|
315
332
|
entry 0x8000, 'selected'
|
316
333
|
|
334
|
+
dict 'rider_position_type'
|
335
|
+
entry 0, 'seated'
|
336
|
+
entry 1, 'standing'
|
337
|
+
|
317
338
|
dict 'session_trigger'
|
318
339
|
entry 0, 'activity_end'
|
319
340
|
entry 1, 'manual'
|
@@ -131,6 +131,9 @@ module Fit4Ruby
|
|
131
131
|
field 121, 'uint16', 'max_power_position', :array => true, :unit => 'watts'
|
132
132
|
field 122, 'uint8', 'avg_cadence_position', :array => true, :unit => 'rpm'
|
133
133
|
field 123, 'uint8', 'max_cadence_position', :array => true, :unit => 'rpm'
|
134
|
+
field 132, 'uint16', 'vertical_ratio', :scale => 100, :unit => '%' # guessed
|
135
|
+
field 133, 'uint16', 'avg_gct_balance', :scale => 100, :unit => '%' # guessed
|
136
|
+
field 134, 'uint16', 'avg_stride_length', :scale => 10000, :unit => 'm' # guessed
|
134
137
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
135
138
|
field 254, 'uint16', 'message_index'
|
136
139
|
|
@@ -216,6 +219,9 @@ module Fit4Ruby
|
|
216
219
|
field 107, 'uint16', 'max_power_position', :array => true, :unit => 'watts'
|
217
220
|
field 108, 'uint8', 'avg_cadence_position', :array => true, :unit => 'rpm'
|
218
221
|
field 109, 'uint8', 'max_cadence_position', :array => true, :unit => 'rpm'
|
222
|
+
field 118, 'uint16', 'vertical_ratio', :scale => 100, :unit => '%' # guessed
|
223
|
+
field 119, 'uint16', 'avg_gct_balance', :scale => 100, :unit => '%' # guessed
|
224
|
+
field 120, 'uint16', 'avg_stride_length', :scale => 10000, :unit => 'm' # guessed
|
219
225
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
220
226
|
field 254, 'uint16', 'message_index'
|
221
227
|
|
@@ -236,6 +242,9 @@ module Fit4Ruby
|
|
236
242
|
field 53, 'uint8', 'fractional_cadence', :scale => 128
|
237
243
|
field 61, 'uint16', 'undefined_value_61'
|
238
244
|
field 66, 'sint16', 'undefined_value_66'
|
245
|
+
field 83, 'uint16', 'vertical_ratio', :scale => 100, :unit => '%' # guessed
|
246
|
+
field 84, 'uint16', 'gct_balance', :scale => 100, :unit => '%' # guessed
|
247
|
+
field 85, 'uint16', 'stride_length', :scale => 10000, :unit => 'm' # guessed
|
239
248
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
240
249
|
|
241
250
|
message 21, 'event'
|
@@ -247,8 +256,22 @@ module Fit4Ruby
|
|
247
256
|
field 'timer', 'enum', 'timer_trigger', :dict => 'timer_trigger'
|
248
257
|
field 'course_point', 'enum', 'message_index', :dict => 'message_index'
|
249
258
|
field 'battery', 'uint16', 'battery_level', :scale => 1000, :unit => 'V'
|
259
|
+
field 'hr_high_alert', 'uint8', 'hr_high_alert', :unit => 'bpm'
|
260
|
+
field 'hr_low_alert', 'uint8', 'hr_low_alert', :unit => 'bpm'
|
261
|
+
field 'speed_high_alert', 'uint16', 'speed_high_alert', :scale => 1000, :unit => 'm/s'
|
262
|
+
field 'speed_low_alert', 'uint16', 'speed_low_alert', :scale => 1000, :unit => 'm/s'
|
263
|
+
field 'cad_high_alert', 'uint16', 'cad_high_alert', :unit => 'bpm'
|
264
|
+
field 'cad_low_alert', 'uint16', 'cad_low_alert', :unit => 'bpm'
|
265
|
+
field 'power_high_alert', 'uint16', 'power_high_alert', :unit => 'watts'
|
266
|
+
field 'power_low_alert', 'uint16', 'power_low_alert', :unit => 'watts'
|
267
|
+
field 'time_duration_alert', 'uint32', 'time_duration_alert', :scale => 100, :unit => 's'
|
268
|
+
field 'calorie_duration_alert', 'uint32', 'calorie_duration_alert', :unit => 'calories'
|
269
|
+
field 'fitness_equipment', 'enum', 'fitness_equipment_state', :dict => 'fitness_equipment_state'
|
270
|
+
field 'rider_position', 'enum', 'rider_position', :dict => 'rider_position_type'
|
271
|
+
field 'comm_timeout', 'uint16', 'comm_timeout', :dict => 'comm_timeout_type'
|
250
272
|
field 'recovery_hr', 'uint32', 'recovery_hr', :unit => 'bpm'
|
251
273
|
field 'recovery_time', 'uint32', 'recovery_time', :unit => 'min'
|
274
|
+
field 'recovery_info', 'uint32', 'recovery_info', :unit => 'min'
|
252
275
|
field 'vo2max', 'uint32', 'vo2max'
|
253
276
|
end
|
254
277
|
field 4, 'uint8', 'event_group'
|
@@ -355,6 +378,10 @@ module Fit4Ruby
|
|
355
378
|
field 24, 'byte', 'current_activity_type_intensity', :type => 'activity_intensity'
|
356
379
|
field 26, 'uint16', 'timestamp_16', :unit => 's'
|
357
380
|
field 29, 'uint16', 'duration_min', :unit => 'min'
|
381
|
+
field 31, 'uint32', 'undocumented_field_31'
|
382
|
+
field 32, 'uint32', 'undocumented_field_32'
|
383
|
+
field 35, 'uint32', 'undocumented_field_35'
|
384
|
+
field 36, 'uint32', 'undocumented_field_36'
|
358
385
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
359
386
|
|
360
387
|
message 72, 'training_file'
|
@@ -383,6 +410,11 @@ module Fit4Ruby
|
|
383
410
|
field 7, 'sint8', 'undocumented_field_7' # seems to be always 1
|
384
411
|
field 8, 'uint16', 'recovery_time', :scale => 60, :unit => 'hours'
|
385
412
|
field 9, 'uint16', 'undocumented_field_9' # maybe activity measurement
|
413
|
+
field 10, 'uint8', 'undocumented_field_10'
|
414
|
+
field 11, 'uint16', 'undocumented_field_11'
|
415
|
+
field 12, 'uint16', 'undocumented_field_12'
|
416
|
+
field 13, 'uint16', 'undocumented_field_13'
|
417
|
+
field 14, 'uint8', 'undocumented_field_14'
|
386
418
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
387
419
|
|
388
420
|
message 101, 'length'
|
@@ -424,6 +456,15 @@ module Fit4Ruby
|
|
424
456
|
field 5, 'enum', 'new_record'
|
425
457
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
426
458
|
|
459
|
+
# Not part of the official ANT SDK doc
|
460
|
+
# It shows up in swimming activities.
|
461
|
+
message 125, 'undocumented_125'
|
462
|
+
field 1, 'uint8', 'undocumented_field_1', :array => true
|
463
|
+
field 2, 'uint16', 'undocumented_field_2', :array => true
|
464
|
+
field 3, 'uint16', 'undocumented_field_3'
|
465
|
+
field 4, 'uint8', 'undocumented_field_4'
|
466
|
+
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
467
|
+
|
427
468
|
# Not part of the official ANT SDK doc
|
428
469
|
# The values in this message seem to be related to the activity history.
|
429
470
|
# If no HRM is used, most of them are 0. Fields 4, 7, 9 and 10 always have
|
@@ -442,6 +483,13 @@ module Fit4Ruby
|
|
442
483
|
field 10, 'uint16', 'undocumented_field_10' # always seems to be 340
|
443
484
|
field 11, 'enum', 'undocumented_field_11'
|
444
485
|
field 12, 'enum', 'undocumented_field_12'
|
486
|
+
field 13, 'uint8', 'undocumented_field_13'
|
487
|
+
field 14, 'uint16', 'undocumented_field_14'
|
488
|
+
field 15, 'uint16', 'undocumented_field_15'
|
489
|
+
field 16, 'uint16', 'undocumented_field_16'
|
490
|
+
field 17, 'sint8', 'undocumented_field_17'
|
491
|
+
field 18, 'uint8', 'undocumented_field_18'
|
492
|
+
field 19, 'uint8', 'undocumented_field_19'
|
445
493
|
field 253, 'uint32', 'timestamp', :type => 'date_time'
|
446
494
|
|
447
495
|
# Not part of the official ANT SDK doc
|
data/lib/fit4ruby/HRV.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby -w
|
2
|
+
# encoding: UTF-8
|
3
|
+
#
|
4
|
+
# = RR_Intervals.rb -- Fit4Ruby - FIT file processing library for Ruby
|
5
|
+
#
|
6
|
+
# Copyright (c) 2015 by Chris Schlaeger <cs@taskjuggler.org>
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of version 2 of the GNU General Public License as
|
10
|
+
# published by the Free Software Foundation.
|
11
|
+
#
|
12
|
+
|
13
|
+
require 'fit4ruby/FitDataRecord'
|
14
|
+
|
15
|
+
module Fit4Ruby
|
16
|
+
|
17
|
+
# The Heart Rate Variability or HRV data is contained in message number 78.
|
18
|
+
# It is an array of values that represent the time in seconds since the
|
19
|
+
# previous heart beat (R-R interval).
|
20
|
+
class HRV < FitDataRecord
|
21
|
+
|
22
|
+
def initialize(field_values = {})
|
23
|
+
super('hrv')
|
24
|
+
set_field_values(field_values)
|
25
|
+
end
|
26
|
+
|
27
|
+
def check(index)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
data/lib/fit4ruby/Log.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# = Log.rb -- Fit4Ruby - FIT file processing library for Ruby
|
5
5
|
#
|
6
|
-
# Copyright (c)
|
6
|
+
# Copyright (c) 2015 by Chris Schlaeger <cs@taskjuggler.org>
|
7
7
|
#
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -30,6 +30,17 @@ module Fit4Ruby
|
|
30
30
|
|
31
31
|
@@logger = Logger.new(STDOUT)
|
32
32
|
|
33
|
+
# Redirect all log messages to the given IO.
|
34
|
+
# @param io [IO] Output file descriptor
|
35
|
+
def open(io)
|
36
|
+
begin
|
37
|
+
@@logger = Logger.new(io)
|
38
|
+
rescue => e
|
39
|
+
@@logger = Logger.new(STDERR)
|
40
|
+
Log.fatal "Cannot open log file: #{e.message}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
33
44
|
# Pass all calls to unknown methods to the @@logger object.
|
34
45
|
def method_missing(method, *args, &block)
|
35
46
|
@@logger.send(method, *args, &block)
|
@@ -42,8 +53,8 @@ module Fit4Ruby
|
|
42
53
|
|
43
54
|
# Print an error message via the Logger and raise and Fit4Ruby::Error.
|
44
55
|
# code 1.
|
45
|
-
def fatal(msg)
|
46
|
-
@@logger.error(msg)
|
56
|
+
def fatal(msg, &block)
|
57
|
+
@@logger.error(msg, &block)
|
47
58
|
raise Error, msg
|
48
59
|
end
|
49
60
|
|
data/lib/fit4ruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fit4ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Schlaeger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bindata
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 2.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 2.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: yard
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 0.8.7
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.8.7
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.9.6
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.9.6
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.6.4
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.6.4
|
69
69
|
description: |
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- lib/fit4ruby/GlobalFitDictionaries.rb
|
107
107
|
- lib/fit4ruby/GlobalFitMessage.rb
|
108
108
|
- lib/fit4ruby/GlobalFitMessages.rb
|
109
|
+
- lib/fit4ruby/HRV.rb
|
109
110
|
- lib/fit4ruby/Lap.rb
|
110
111
|
- lib/fit4ruby/Log.rb
|
111
112
|
- lib/fit4ruby/Monitoring.rb
|
@@ -135,17 +136,17 @@ require_paths:
|
|
135
136
|
- lib
|
136
137
|
required_ruby_version: !ruby/object:Gem::Requirement
|
137
138
|
requirements:
|
138
|
-
- -
|
139
|
+
- - ">="
|
139
140
|
- !ruby/object:Gem::Version
|
140
141
|
version: '2.0'
|
141
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
143
|
requirements:
|
143
|
-
- -
|
144
|
+
- - ">="
|
144
145
|
- !ruby/object:Gem::Version
|
145
146
|
version: '0'
|
146
147
|
requirements: []
|
147
148
|
rubyforge_project:
|
148
|
-
rubygems_version: 2.
|
149
|
+
rubygems_version: 2.2.2
|
149
150
|
signing_key:
|
150
151
|
specification_version: 4
|
151
152
|
summary: Library to read GARMIN FIT files.
|