fit_parser 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fit_parser/file.rb +6 -1
- data/lib/fit_parser/version.rb +1 -1
- data/spec/fit_parser_spec.rb +49 -0
- data/spec/support/examples/file/598363e9-3121-4f24-8b6f-b1368a269e8f. +0 -0
- data/spec/support/examples/file/7348726805 +0 -0
- data/spec/support/examples/file/7420309810 +0 -0
- data/spec/support/examples/file/7439451200 +0 -0
- data/spec/support/examples/file/7edbeca2-0c62-42b6-9e7a-e869b1e5ccd0. +0 -0
- data/spec/support/examples/file/dbcdf1a1-3ce0-4e71-a409-bec64c6043b0. +0 -0
- data/spec/support/examples/file/f334a45f-cd2b-40d8-9c46-b4c34fe9e9dd. +0 -0
- data/spec/support/examples/file/fcc17445-79ec-43bc-9f7f-ea9324992cd2. +0 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72ce3efaec7485edeaed99cf287affb05e8b8922
|
4
|
+
data.tar.gz: f264feeda86713b7e7f0c587cd60776001f1a852
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad5ef11cbe70f2aef8f771c25f3185e237e320958a38f624263cedb719bf89c67d6df447878d1d90a6abaa4a73a425c5e2b5c211a008f60539ab921526166a01
|
7
|
+
data.tar.gz: a4c342fbf692ed3b8ce12c16bca636269ed85dd8d9df362936b375d0724ea4488811c5c87e5ced0cfb2ddcab5fd3a907517913ebfd118d75ee9d782e6ae46419
|
data/lib/fit_parser/file.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module FitParser
|
2
2
|
class File
|
3
|
+
MSG_NUM_FIELD_DESCRIPTION = 206
|
4
|
+
|
3
5
|
def self.read(io)
|
4
6
|
new.read(io)
|
5
7
|
end
|
@@ -18,7 +20,10 @@ module FitParser
|
|
18
20
|
record = Record.new(definitions, dev_definitions)
|
19
21
|
@records << record.read(io)
|
20
22
|
content = record.content
|
21
|
-
if content[:
|
23
|
+
if content[:global_message_number] == MSG_NUM_FIELD_DESCRIPTION
|
24
|
+
field_definition_local_message_type = record.header.local_message_type
|
25
|
+
end
|
26
|
+
if !content[:global_message_number] && field_definition_local_message_type && record.header.local_message_type == field_definition_local_message_type
|
22
27
|
dev_definitions[content[:raw_field_0].to_s] ||= {}
|
23
28
|
dev_definitions[content[:raw_field_0].to_s][content[:raw_field_1].to_s] = content
|
24
29
|
end
|
data/lib/fit_parser/version.rb
CHANGED
data/spec/fit_parser_spec.rb
CHANGED
@@ -33,6 +33,24 @@ describe FitParser do
|
|
33
33
|
end
|
34
34
|
threads.each { |thread| thread.join }
|
35
35
|
end
|
36
|
+
|
37
|
+
# sometimes doesn't work because of multithreads issues
|
38
|
+
# it 'works with threads' do
|
39
|
+
# threads = []
|
40
|
+
# %w(
|
41
|
+
# f334a45f-cd2b-40d8-9c46-b4c34fe9e9dd.
|
42
|
+
# 598363e9-3121-4f24-8b6f-b1368a269e8f.
|
43
|
+
# 7edbeca2-0c62-42b6-9e7a-e869b1e5ccd0.
|
44
|
+
# dbcdf1a1-3ce0-4e71-a409-bec64c6043b0.
|
45
|
+
# fcc17445-79ec-43bc-9f7f-ea9324992cd2.
|
46
|
+
# ).each do |file|
|
47
|
+
# threads << Thread.new(file) do |el|
|
48
|
+
# data = FitParser.load_file("spec/support/examples/file/#{el}")
|
49
|
+
# expect(data.records).to_not be_nil
|
50
|
+
# end
|
51
|
+
# end
|
52
|
+
# threads.each { |thread| thread.join }
|
53
|
+
# end
|
36
54
|
end
|
37
55
|
|
38
56
|
it 'works without threads' do
|
@@ -66,4 +84,35 @@ describe FitParser do
|
|
66
84
|
expect(data.records).to_not be_nil
|
67
85
|
end
|
68
86
|
end
|
87
|
+
|
88
|
+
it 'works' do
|
89
|
+
%w(
|
90
|
+
f334a45f-cd2b-40d8-9c46-b4c34fe9e9dd.
|
91
|
+
598363e9-3121-4f24-8b6f-b1368a269e8f.
|
92
|
+
7edbeca2-0c62-42b6-9e7a-e869b1e5ccd0.
|
93
|
+
dbcdf1a1-3ce0-4e71-a409-bec64c6043b0.
|
94
|
+
fcc17445-79ec-43bc-9f7f-ea9324992cd2.
|
95
|
+
).each do |el|
|
96
|
+
data = FitParser.load_file("spec/support/examples/file/#{el}")
|
97
|
+
expect(data.records).to_not be_nil
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'works 7439451200' do
|
102
|
+
path = 'spec/support/examples/file/7439451200'
|
103
|
+
data = FitParser.load_file(path)
|
104
|
+
expect(data.records).to_not be_nil
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'works 7420309810' do
|
108
|
+
path = 'spec/support/examples/file/7420309810'
|
109
|
+
data = FitParser.load_file(path)
|
110
|
+
expect(data.records).to_not be_nil
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'works 7348726805' do
|
114
|
+
path = 'spec/support/examples/file/7348726805'
|
115
|
+
data = FitParser.load_file(path)
|
116
|
+
expect(data.records).to_not be_nil
|
117
|
+
end
|
69
118
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
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.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dima Mescheryakov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bindata
|
@@ -172,8 +172,16 @@ files:
|
|
172
172
|
- spec/support/examples/6AUI5200.FIT
|
173
173
|
- spec/support/examples/file/3110334490
|
174
174
|
- spec/support/examples/file/3863374146
|
175
|
+
- spec/support/examples/file/598363e9-3121-4f24-8b6f-b1368a269e8f.
|
176
|
+
- spec/support/examples/file/7348726805
|
177
|
+
- spec/support/examples/file/7420309810
|
178
|
+
- spec/support/examples/file/7439451200
|
179
|
+
- spec/support/examples/file/7edbeca2-0c62-42b6-9e7a-e869b1e5ccd0.
|
175
180
|
- spec/support/examples/file/be470628-c34a-4189-aae3-42bef36436ce.fit
|
181
|
+
- spec/support/examples/file/dbcdf1a1-3ce0-4e71-a409-bec64c6043b0.
|
182
|
+
- spec/support/examples/file/f334a45f-cd2b-40d8-9c46-b4c34fe9e9dd.
|
176
183
|
- spec/support/examples/file/fc84b277-68af-4d63-ac8d-fb8e162ab2a2.fit
|
184
|
+
- spec/support/examples/file/fcc17445-79ec-43bc-9f7f-ea9324992cd2.
|
177
185
|
- spec/support/examples/file/full_file_with_wrong_crc.fit
|
178
186
|
- spec/support/examples/file/header
|
179
187
|
- spec/support/examples/file/header_14b.fit
|