fit_parser 1.0.8 → 1.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 +5 -5
- data/lib/fit_parser/file/data.rb +8 -6
- data/lib/fit_parser/version.rb +1 -1
- data/spec/fit_parser_spec.rb +14 -1
- data/spec/support/examples/file/31675356730 +0 -0
- data/spec/support/examples/suunto-app/5bd6e91752ce7b074fc4f8d1.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6ea2552ce7b074fc4f931.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6ea4752ce7b074fc4f951.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6ea7052ce7b074fc4f975.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6ea9252ce7b074fc4f9be.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6eaaf52ce7b074fc4f9ed.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6ead352ce7b074fc4fa0d.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6eaff52ce7b074fc4fa28.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6eb1952ce7b074fc4fa56.fit +0 -0
- data/spec/support/examples/suunto-app/5bd6eb3252ce7b074fc4fa82.fit +0 -0
- data/spec/support/examples/suunto-app/FIT file information.txt +114 -0
- metadata +15 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 17f6f10d0f1eac15b399041a0d59f6eca99fb6d276435c4c0f98ad8e2bbb6190
|
4
|
+
data.tar.gz: 176655ba11d443e33b33e9c04739d8bc93c9a580259c0a46fb8f7aaf3c30a30d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81b3e8cbc9e9fd58340b5f193419fbbfde45f06bddb72d788e7279f311136d3a143be015162a23e54a69858c81e4be95b1965d9adf6c655b23ec63722a67a19d
|
7
|
+
data.tar.gz: 1d947f7fd22a8019a4d7d4876a9f1c699a0269a6facb95ce6f62507397c1d3cb8e3aef568543b7f2c62d21b2208df4b5c387872871058428d09c25e799bffd43
|
data/lib/fit_parser/file/data.rb
CHANGED
@@ -22,13 +22,14 @@ module FitParser
|
|
22
22
|
|
23
23
|
definition.fields_arr.each do |field|
|
24
24
|
code = ''
|
25
|
+
field_raw_name_sanitized = field.raw_name.gsub('/', '_').gsub('+', '').gsub('%', '').gsub('-', '')
|
25
26
|
|
26
27
|
# in case the field size is a multiple of the field length, we must build an array
|
27
28
|
if field.type != 'string' && field.size > field.length
|
28
|
-
code << "array :#{
|
29
|
+
code << "array :#{field_raw_name_sanitized}, :type => :#{field.type}, :initial_length => #{field.size/field.length}\n"
|
29
30
|
else
|
30
31
|
# string are not null terminated when they have exactly the lenght of the field
|
31
|
-
code << "#{field.type} :#{
|
32
|
+
code << "#{field.type} :#{field_raw_name_sanitized}"
|
32
33
|
if field.type == 'string'
|
33
34
|
code << ", :read_length => #{field.size}, :trim_padding => true"
|
34
35
|
end
|
@@ -54,7 +55,7 @@ module FitParser
|
|
54
55
|
code << "dyn = nil\n"
|
55
56
|
end
|
56
57
|
code << <<-RUBY
|
57
|
-
get_value #{
|
58
|
+
get_value #{field_raw_name_sanitized}.snapshot, '#{field.real_type}', scale, dyn
|
58
59
|
end
|
59
60
|
RUBY
|
60
61
|
|
@@ -70,13 +71,14 @@ module FitParser
|
|
70
71
|
field.name = data[:raw_field_3].downcase.gsub(' ', '_').gsub('.', '').gsub('%', '')
|
71
72
|
field.scale = data[:raw_field_6] && data[:raw_field_6] != 255 ? data[:raw_field_6] : nil
|
72
73
|
code = ''
|
74
|
+
field_raw_name_sanitized = field.raw_name.gsub('/', '_').gsub('+', '').gsub('%', '').gsub('-', '')
|
73
75
|
|
74
76
|
# in case the field size is a multiple of the field length, we must build an array
|
75
77
|
if field.type != 'string' && field.field_size > field.length
|
76
|
-
code << "array :#{
|
78
|
+
code << "array :#{field_raw_name_sanitized}, :type => :#{field.type}, :initial_length => #{field.field_size/field.length}\n"
|
77
79
|
else
|
78
80
|
# string are not null terminated when they have exactly the lenght of the field
|
79
|
-
code << "#{field.type} :#{
|
81
|
+
code << "#{field.type} :#{field_raw_name_sanitized}"
|
80
82
|
if field.type == 'string'
|
81
83
|
code << ", :read_length => #{field.field_size}, :trim_padding => true"
|
82
84
|
end
|
@@ -103,7 +105,7 @@ module FitParser
|
|
103
105
|
end
|
104
106
|
|
105
107
|
code << <<-RUBY
|
106
|
-
get_value #{
|
108
|
+
get_value #{field_raw_name_sanitized}.snapshot, '#{field.real_type}', scale, dyn
|
107
109
|
end
|
108
110
|
RUBY
|
109
111
|
|
data/lib/fit_parser/version.rb
CHANGED
data/spec/fit_parser_spec.rb
CHANGED
@@ -73,7 +73,7 @@ describe FitParser do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it 'works 6AUI5200.FIT' do
|
76
|
-
path = 'spec/support/examples/6AUI5200.
|
76
|
+
path = 'spec/support/examples/6AUI5200.FIT'
|
77
77
|
data = FitParser.load_file(path)
|
78
78
|
expect(data.records).to_not be_nil
|
79
79
|
end
|
@@ -104,6 +104,19 @@ describe FitParser do
|
|
104
104
|
expect(data.records).to_not be_nil
|
105
105
|
end
|
106
106
|
|
107
|
+
it 'works 31675356730' do
|
108
|
+
path = 'spec/support/examples/file/31675356730'
|
109
|
+
data = FitParser.load_file(path)
|
110
|
+
expect(data.records).to_not be_nil
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'works for suunto' do
|
114
|
+
Dir.glob('spec/support/examples/suunto-app/*.fit').each do |f|
|
115
|
+
data = FitParser.load_file(f)
|
116
|
+
expect(data.records).to_not be_nil
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
107
120
|
it 'works 7420309810' do
|
108
121
|
path = 'spec/support/examples/file/7420309810'
|
109
122
|
data = FitParser.load_file(path)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,114 @@
|
|
1
|
+
----------------------------------------------------------
|
2
|
+
1
|
3
|
+
----------------------------------------------------------
|
4
|
+
5bd6eb3252ce7b074fc4fa82
|
5
|
+
|
6
|
+
16.10.2018
|
7
|
+
SUUNTO 9 BARO
|
8
|
+
RUNNING
|
9
|
+
FINLAND
|
10
|
+
HR, GPS, CADENCE, ALTITUDE
|
11
|
+
INTERVALS
|
12
|
+
|
13
|
+
----------------------------------------------------------
|
14
|
+
2
|
15
|
+
----------------------------------------------------------
|
16
|
+
5bd6ea7052ce7b074fc4f975
|
17
|
+
|
18
|
+
30.6.2018
|
19
|
+
SUUNTO SPARTAN SPORT
|
20
|
+
TRIATHLON
|
21
|
+
FINLAND
|
22
|
+
GPS,HR, ALTITUDE, CADENCE
|
23
|
+
INTERVALS, AUTOLAPS, ACTIVITY CHANGE
|
24
|
+
|
25
|
+
----------------------------------------------------------
|
26
|
+
3
|
27
|
+
----------------------------------------------------------
|
28
|
+
5bd6ea9252ce7b074fc4f9be
|
29
|
+
|
30
|
+
14.7.2018
|
31
|
+
SUUNTO SPARTAN SPORT
|
32
|
+
CYCLING
|
33
|
+
TALLIN
|
34
|
+
GPS, POWER,CADENCE ETC.
|
35
|
+
AUTOLAPS, PAUSE
|
36
|
+
|
37
|
+
----------------------------------------------------------
|
38
|
+
4
|
39
|
+
----------------------------------------------------------
|
40
|
+
5bd6e91752ce7b074fc4f8d1
|
41
|
+
|
42
|
+
2.4.2017
|
43
|
+
SUUNTO SPARTAN SPORT WHR
|
44
|
+
RUNNING
|
45
|
+
SOUTH AFRICA
|
46
|
+
AUTOLAPS
|
47
|
+
HEART RATE, SPEED, GPS
|
48
|
+
|
49
|
+
----------------------------------------------------------
|
50
|
+
5
|
51
|
+
----------------------------------------------------------
|
52
|
+
5bd6eaaf52ce7b074fc4f9ed
|
53
|
+
|
54
|
+
10.8.2018
|
55
|
+
SUUNTO 9 BARO
|
56
|
+
OPENWATER SWIM
|
57
|
+
GPS, PACE, STROKERATE ETC
|
58
|
+
|
59
|
+
----------------------------------------------------------
|
60
|
+
6
|
61
|
+
----------------------------------------------------------
|
62
|
+
5bd6ead352ce7b074fc4fa0d
|
63
|
+
|
64
|
+
1.9.2018
|
65
|
+
SUUNTO 9 BARO
|
66
|
+
WEIGHT TRAINING
|
67
|
+
HEART RATE, ALTITUDE, TEMPERATURE
|
68
|
+
|
69
|
+
----------------------------------------------------------
|
70
|
+
7
|
71
|
+
----------------------------------------------------------
|
72
|
+
5bd6ea2552ce7b074fc4f931
|
73
|
+
|
74
|
+
20.10.2017
|
75
|
+
SUUNTO SPARTAN SPORT
|
76
|
+
SWIMMING
|
77
|
+
POOL LENGHTS, SWIM INTERVALS
|
78
|
+
POOL SWIMMING
|
79
|
+
NO LOCATION
|
80
|
+
|
81
|
+
----------------------------------------------------------
|
82
|
+
8
|
83
|
+
----------------------------------------------------------
|
84
|
+
5bd6ea4752ce7b074fc4f951
|
85
|
+
|
86
|
+
22.10.2017
|
87
|
+
SUUNTO SPARTAN SPORT
|
88
|
+
RUNNING
|
89
|
+
FLORIDA
|
90
|
+
GPS, HR, SPEED, ALTITUDE, CADENCE
|
91
|
+
LAPS, AUTOLAPS, PAUSE
|
92
|
+
|
93
|
+
----------------------------------------------------------
|
94
|
+
9
|
95
|
+
----------------------------------------------------------
|
96
|
+
5bd6eb1952ce7b074fc4fa56
|
97
|
+
|
98
|
+
13.10.2018
|
99
|
+
POOL SWIM
|
100
|
+
SUUNTO 9 BARO
|
101
|
+
POOL LENGTHS, INTERVALS
|
102
|
+
HR, SWIM PACE, SWOLF
|
103
|
+
NO LOCATION
|
104
|
+
|
105
|
+
----------------------------------------------------------
|
106
|
+
10
|
107
|
+
---------------------------------------------------------
|
108
|
+
5bd6eaff52ce7b074fc4fa28
|
109
|
+
|
110
|
+
12.10.2018
|
111
|
+
RUNNING
|
112
|
+
SUUNTO 9 BARO
|
113
|
+
GPS,HR, ALTITUDE,SPEED, TEMPERATURE ETC.
|
114
|
+
INTERVALS
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fit_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dima Mescheryakov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bindata
|
@@ -176,6 +176,7 @@ files:
|
|
176
176
|
- spec/support/examples/file/23489915119.fit
|
177
177
|
- spec/support/examples/file/24093026216.fit
|
178
178
|
- spec/support/examples/file/3110334490
|
179
|
+
- spec/support/examples/file/31675356730
|
179
180
|
- spec/support/examples/file/3863374146
|
180
181
|
- spec/support/examples/file/598363e9-3121-4f24-8b6f-b1368a269e8f.
|
181
182
|
- spec/support/examples/file/7348726805
|
@@ -203,6 +204,17 @@ files:
|
|
203
204
|
- spec/support/examples/record/message/definition_field_array.fit
|
204
205
|
- spec/support/examples/record/message/definition_file_capabilities.fit
|
205
206
|
- spec/support/examples/record/normal_header
|
207
|
+
- spec/support/examples/suunto-app/5bd6e91752ce7b074fc4f8d1.fit
|
208
|
+
- spec/support/examples/suunto-app/5bd6ea2552ce7b074fc4f931.fit
|
209
|
+
- spec/support/examples/suunto-app/5bd6ea4752ce7b074fc4f951.fit
|
210
|
+
- spec/support/examples/suunto-app/5bd6ea7052ce7b074fc4f975.fit
|
211
|
+
- spec/support/examples/suunto-app/5bd6ea9252ce7b074fc4f9be.fit
|
212
|
+
- spec/support/examples/suunto-app/5bd6eaaf52ce7b074fc4f9ed.fit
|
213
|
+
- spec/support/examples/suunto-app/5bd6ead352ce7b074fc4fa0d.fit
|
214
|
+
- spec/support/examples/suunto-app/5bd6eaff52ce7b074fc4fa28.fit
|
215
|
+
- spec/support/examples/suunto-app/5bd6eb1952ce7b074fc4fa56.fit
|
216
|
+
- spec/support/examples/suunto-app/5bd6eb3252ce7b074fc4fa82.fit
|
217
|
+
- spec/support/examples/suunto-app/FIT file information.txt
|
206
218
|
homepage: https://github.com/zhublik/fit_parser
|
207
219
|
licenses:
|
208
220
|
- MIT
|
@@ -222,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
234
|
- !ruby/object:Gem::Version
|
223
235
|
version: '0'
|
224
236
|
requirements: []
|
225
|
-
|
226
|
-
rubygems_version: 2.6.11
|
237
|
+
rubygems_version: 3.0.3
|
227
238
|
signing_key:
|
228
239
|
specification_version: 4
|
229
240
|
summary: ''
|