fit4ruby 0.0.9 → 0.0.10

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: 03a178c07a618005acb996433ce4c8d1dd4f1cce
4
- data.tar.gz: 84ee7b840af9cfac5411bd4480737cdf8e4fcaff
3
+ metadata.gz: c8031616797fec0865e6ba35680ec240f5b7264f
4
+ data.tar.gz: c9b0255d76f4776dc2259cc91ce784e8295a3394
5
5
  SHA512:
6
- metadata.gz: cd71d3ffafc982031ae56a62ab8c76780a329346108717d2f54b3a2f7e82c866da5e424167530a4b5452bc48916ab24ec037ab43c4cdd4e6ce30259e3280bada
7
- data.tar.gz: 5e9cab1af4d8a3bd048b73ab44a60cbc475d228e50c20746ca33cc027d0aa6c89d39e928d72ac111e438afc62c3ef0bf1dfd52bdccd46b8f3e18a89f3e2f7361
6
+ metadata.gz: 14b252ae0a5993c9bc53fc95bcea5a75aa798af444b30e62378a1f1bff10b76196bd18c9f34945136a7c09e5b8022ca56ee96a4f9281b1dee3b347d37c5a7316
7
+ data.tar.gz: 1028184b60ca4aa62db0378199006f97563c13f96b4b50868256e107043a95d0ae416a30fdabc4f75d0053dc232b6bca4f84ea6c587958eb37342e35d2e55abd
@@ -195,9 +195,15 @@ module Fit4Ruby
195
195
  # Returns the computed VO2max value. This value is computed by the device
196
196
  # based on multiple previous activities.
197
197
  def vo2max
198
+ # First check the event log for a vo2max reporting event.
198
199
  @events.each do |e|
199
200
  return e.vo2max if e.event == 'vo2max'
200
201
  end
202
+ # Then check the user_profile entries for a metmax entry. METmax * 3.5
203
+ # is same value as VO2max.
204
+ @user_profiles.each do |u|
205
+ return u.metmax * 3.5 if u.metmax
206
+ end
201
207
 
202
208
  nil
203
209
  end
@@ -245,6 +245,7 @@ module Fit4Ruby
245
245
  field 83, 'uint16', 'vertical_ratio', :scale => 100, :unit => '%' # guessed
246
246
  field 84, 'uint16', 'gct_balance', :scale => 100, :unit => '%' # guessed
247
247
  field 85, 'uint16', 'stride_length', :scale => 10000, :unit => 'm' # guessed
248
+ field 87, 'uint16', 'undefined_value_87' # first seen on F3 FW6.80
248
249
  field 253, 'uint32', 'timestamp', :type => 'date_time'
249
250
 
250
251
  message 21, 'event'
@@ -400,7 +401,7 @@ module Fit4Ruby
400
401
 
401
402
  # Not part of the official ANT SDK doc
402
403
  message 79, 'user_profile'
403
- field 0, 'uint16', 'undocumented_field_0' # seems to strongly correlate with vo2max
404
+ field 0, 'uint16', 'metmax', :scale => 1000, :unit => 'MET' # VO2max / 3.5
404
405
  field 1, 'uint8', 'age', :unit => 'years'
405
406
  field 2, 'uint8', 'height', :scale => 100, :unit => 'm'
406
407
  field 3, 'uint16', 'weight', :scale => 10, :unit => 'kg'
@@ -1,4 +1,4 @@
1
1
  module Fit4Ruby
2
2
  # The version number of the library.
3
- VERSION = '0.0.9'
3
+ VERSION = '0.0.10'
4
4
  end
@@ -10,6 +10,9 @@
10
10
  # published by the Free Software Foundation.
11
11
  #
12
12
 
13
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+
15
+ require 'time'
13
16
  require 'fit4ruby/FileNameCoder'
14
17
 
15
18
  describe Fit4Ruby::FileNameCoder do
@@ -25,35 +28,35 @@ describe Fit4Ruby::FileNameCoder do
25
28
 
26
29
  it 'should convert a time stamps to a file names' do
27
30
  @data.each do |t|
28
- Fit4Ruby::FileNameCoder.encode(Time.parse(t[0])).should == t[1]
31
+ expect(Fit4Ruby::FileNameCoder.encode(Time.parse(t[0]))).to eq(t[1])
29
32
  end
30
33
  end
31
34
 
32
35
  it 'should convert file names to time stamps' do
33
36
  @data.each do |t|
34
- Fit4Ruby::FileNameCoder.decode(t[1]).should == Time.parse(t[0]).utc
37
+ expect(Fit4Ruby::FileNameCoder.decode(t[1])).to eq(Time.parse(t[0]).utc)
35
38
  end
36
39
  end
37
40
 
38
41
  it 'should fail to encode dates before 2010' do
39
- lambda {
42
+ expect {
40
43
  Fit4Ruby::FileNameCoder.encode(Time.parse('2009-12-31T00:00'))
41
- }.should raise_error
44
+ }.to raise_error(ArgumentError)
42
45
  end
43
46
 
44
47
  it 'should fail to encode dates after 2033' do
45
- lambda {
48
+ expect {
46
49
  Fit4Ruby::FileNameCoder.encode(Time.parse('2034-01-01T00:00+00:00'))
47
- }.should raise_error
50
+ }.to raise_error(ArgumentError)
48
51
  end
49
52
 
50
53
  it 'should fail to decode illegal file names' do
51
54
  [ 'A.FIT', '0123ABCD', '5ZNJ1800.FIT',
52
55
  '44063106.FIT', '44W63106.FIT',
53
56
  '557O1650.FIT', '557G6050.FIT', '557G1660.FIT' ].each do |name|
54
- lambda {
57
+ expect {
55
58
  Fit4Ruby::FileNameCoder.decode(name)
56
- }.should raise_error
59
+ }.to raise_error(ArgumentError)
57
60
  end
58
61
  end
59
62
 
data/spec/FitFile_spec.rb CHANGED
@@ -10,6 +10,8 @@
10
10
  # published by the Free Software Foundation.
11
11
  #
12
12
 
13
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+
13
15
  require 'fit4ruby'
14
16
 
15
17
  describe Fit4Ruby do
@@ -104,10 +106,10 @@ describe Fit4Ruby do
104
106
 
105
107
  File.delete(fit_file) if File.exists?(fit_file)
106
108
  Fit4Ruby.write(fit_file, @activity)
107
- File.exists?(fit_file).should be_true
109
+ expect(File.exists?(fit_file)).to be true
108
110
 
109
111
  b = Fit4Ruby.read(fit_file)
110
- b.should == @activity
112
+ expect(b).to eq(@activity)
111
113
  File.delete(fit_file)
112
114
  end
113
115
 
data/spec/GeoMath_spec.rb CHANGED
@@ -10,6 +10,8 @@
10
10
  # published by the Free Software Foundation.
11
11
  #
12
12
 
13
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+
13
15
  require 'fit4ruby/GeoMath'
14
16
 
15
17
  describe Fit4Ruby::GeoMath do
@@ -25,8 +27,8 @@ describe Fit4Ruby::GeoMath do
25
27
  [ 48.17970883101225, 11.611351054161787, 100.225 ]
26
28
  ]
27
29
  points.each do |p|
28
- Fit4Ruby::GeoMath.distance(p0_lat, p0_lon,
29
- p[0], p[1]).should be_within(0.001).of(p[2])
30
+ expect(Fit4Ruby::GeoMath.distance(
31
+ p0_lat, p0_lon, p[0], p[1])).to be_within(0.001).of(p[2])
30
32
  end
31
33
  end
32
34
 
data/tasks/changelog.rake CHANGED
@@ -155,7 +155,7 @@ task :changelog do
155
155
  def getReleaseVersions
156
156
  # Get list of release tags from Git repository
157
157
  releaseVersions = `git tag`.split("\n").map { |r| r.chomp }.
158
- delete_if { |r| ! (/release-\d+\.\d+\.\d+/ =~ r) }.
158
+ delete_if { |r| ! (/v\d+\.\d+\.\d+/ =~ r) }.
159
159
  sort{ |a, b| compareTags(a, b) }
160
160
  releaseVersions << 'HEAD'
161
161
  end
data/tasks/test.rake CHANGED
@@ -3,5 +3,5 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  desc 'Run all RSpec tests in the spec directory'
5
5
  RSpec::Core::RakeTask.new(:test) do |t|
6
- t.pattern = 'test/*_spec.rb'
6
+ t.pattern = 'spec/*_spec.rb'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fit4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Schlaeger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-16 00:00:00.000000000 Z
11
+ date: 2016-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bindata
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.2.2
149
+ rubygems_version: 2.4.5.1
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Library to read GARMIN FIT files.