fit4ruby 0.0.9 → 0.0.10

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 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.