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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5a9b2aa672b5b76113b211fe1cb1f9ee699abd2
4
- data.tar.gz: 71dc6534e61ca9a129f05f508973c4cbc78880da
3
+ metadata.gz: 72ce3efaec7485edeaed99cf287affb05e8b8922
4
+ data.tar.gz: f264feeda86713b7e7f0c587cd60776001f1a852
5
5
  SHA512:
6
- metadata.gz: 1ebd8c2da5930fc9bbd21d3110c6575f2e4e18fdbe030b548ee589d02a5073872bb736770fb460c1ad5f56507f4e76c879f44f71d639362f88816f2b57a38250
7
- data.tar.gz: e51a26600a8bbefab0550e85a8507fa31224cdc78b2c0b58770313e7235f15e3d3df3917ad37aad9ff2744056d6060e459b1406fc588ca3b599546d11aea1557
6
+ metadata.gz: ad5ef11cbe70f2aef8f771c25f3185e237e320958a38f624263cedb719bf89c67d6df447878d1d90a6abaa4a73a425c5e2b5c211a008f60539ab921526166a01
7
+ data.tar.gz: a4c342fbf692ed3b8ce12c16bca636269ed85dd8d9df362936b375d0724ea4488811c5c87e5ced0cfb2ddcab5fd3a907517913ebfd118d75ee9d782e6ae46419
@@ -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[:raw_field_0] == 0
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
@@ -1,3 +1,3 @@
1
1
  module FitParser
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -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
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.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-14 00:00:00.000000000 Z
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