m26 0.4.0 → 1.0.0
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 +4 -4
- data/lib/m26.rb +1 -3
- data/lib/m26_age.rb +1 -1
- data/lib/m26_age_grade.rb +7 -7
- data/lib/m26_constants.rb +4 -4
- data/lib/m26_distance.rb +1 -1
- data/lib/m26_elapsed_time.rb +18 -16
- data/lib/m26_ruby_extensions.rb +1 -1
- data/lib/m26_speed.rb +1 -1
- data/lib/m26_ultra.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8343325b39c429fa5c552a1c904f0eb37921da18
|
4
|
+
data.tar.gz: ffcbf76e7efffbd2e3bef238fc085358cd131c19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 044b4550c5731e6ff0db90d70515c32b536d023a239726e8ddfa471243610e45e2a881cd92ea4c8db8dbe42d4e13566aac3d234bd608cc99bc9e4022fd48cdcf
|
7
|
+
data.tar.gz: 0821beceb0c858f34e13a559b1ed7b0900e82c10f4725b694c836d612cf38cf380790d11a720b91ac86fa93e9da01ba9ecc39440ed4a78f5639e58700164cba5
|
data/lib/m26.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
=begin
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
|
4
4
|
|
5
5
|
=end
|
6
6
|
|
@@ -15,5 +15,3 @@ require 'm26_distance'
|
|
15
15
|
require 'm26_elapsed_time'
|
16
16
|
require 'm26_speed'
|
17
17
|
require 'm26_ultra'
|
18
|
-
|
19
|
-
# puts "m26 loaded in PID: #{Process.pid}"
|
data/lib/m26_age.rb
CHANGED
data/lib/m26_age_grade.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
=begin
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC.
|
4
4
|
|
5
5
|
=end
|
6
6
|
|
@@ -16,15 +16,15 @@ module M26
|
|
16
16
|
|
17
17
|
public
|
18
18
|
|
19
|
-
def
|
19
|
+
def calculate(elapsed_time, formula='maxpulse')
|
20
20
|
if formula.to_s == 'maxpulse'
|
21
|
-
|
21
|
+
calculate_maxpulse(elapsed_time)
|
22
22
|
else
|
23
23
|
nil
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def
|
27
|
+
def calculate_maxpulse(elapsed_time)
|
28
28
|
p1, p2 = maxpulse1.to_f, maxpulse2.to_f
|
29
29
|
ratio = p1 / p2
|
30
30
|
psecs = ratio * elapsed_time.secs.to_f
|
@@ -41,9 +41,9 @@ module M26
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def maxpulse(age)
|
44
|
-
p = 220 - age
|
45
|
-
p = 196 if p > 196 # age 24 is "peak" (220-24=196)
|
46
|
-
p = 1 if p < 1
|
44
|
+
p = 220.0 - age
|
45
|
+
p = 196.0 if p > 196.0 # age 24 is "peak" (220-24=196)
|
46
|
+
p = 1.0 if p < 1
|
47
47
|
p
|
48
48
|
end
|
49
49
|
end
|
data/lib/m26_constants.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
=begin
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
|
4
4
|
|
5
5
|
=end
|
6
6
|
|
@@ -8,10 +8,10 @@ module M26
|
|
8
8
|
|
9
9
|
module Constants
|
10
10
|
|
11
|
-
VERSION = '0.
|
12
|
-
DATE = '
|
11
|
+
VERSION = '1.0.0'
|
12
|
+
DATE = '2014-10-17'
|
13
13
|
AUTHOR = 'Chris Joakim'
|
14
|
-
EMAIL = '
|
14
|
+
EMAIL = 'christopher.joakim@gmail.com'
|
15
15
|
|
16
16
|
UOM_MILES = 'm'
|
17
17
|
UOM_KILOMETERS = 'k'
|
data/lib/m26_distance.rb
CHANGED
data/lib/m26_elapsed_time.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
=begin
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
|
4
4
|
|
5
5
|
=end
|
6
6
|
|
@@ -27,8 +27,8 @@ module M26
|
|
27
27
|
@secs / SECONDS_PER_HOUR.to_f
|
28
28
|
end
|
29
29
|
|
30
|
-
def as_hhmmss
|
31
|
-
return "#{zero_pad(
|
30
|
+
def as_hhmmss(ss_fractional_digits=2)
|
31
|
+
return "#{zero_pad(hh)}:#{zero_pad(mm)}:#{zero_pad(ss, ss_fractional_digits)}"
|
32
32
|
end
|
33
33
|
|
34
34
|
def subtract(another_instance)
|
@@ -39,11 +39,11 @@ module M26
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def to_s
|
42
|
-
return "ElapsedTime: hh=#{
|
42
|
+
return "ElapsedTime: hh=#{hh} mm=#{mm} ss=#{ss} secs=#{secs} as_hours=#{as_hours()} as_hhmmss=#{as_hhmmss}"
|
43
43
|
end
|
44
44
|
|
45
45
|
def print_string
|
46
|
-
return to_s << " #{
|
46
|
+
return to_s << " #{secs} #{as_hours}"
|
47
47
|
end
|
48
48
|
|
49
49
|
private
|
@@ -54,36 +54,38 @@ module M26
|
|
54
54
|
@hh = array[0].to_i
|
55
55
|
@mm = array[1].to_i
|
56
56
|
@ss = array[2].to_f
|
57
|
-
@ss = 59 if @ss > 59
|
57
|
+
@ss = 59.999 if @ss > 59
|
58
58
|
end
|
59
59
|
|
60
60
|
if (array.length == 2)
|
61
61
|
@mm = array[0].to_i
|
62
62
|
@ss = array[1].to_f
|
63
|
-
@ss = 59 if @ss > 59
|
63
|
+
@ss = 59.000 if @ss > 59
|
64
64
|
end
|
65
65
|
|
66
66
|
if (array.length == 1)
|
67
|
-
@ss = array[0].to_f
|
67
|
+
@ss = array[0].to_f
|
68
68
|
end
|
69
69
|
|
70
|
-
@secs = (
|
70
|
+
@secs = (hh.to_i * SECONDS_PER_HOUR) + (mm.to_i * 60) + ss;
|
71
71
|
end
|
72
72
|
|
73
73
|
def initialize_number(raw_val)
|
74
|
-
@secs = raw_val
|
74
|
+
@secs = raw_val
|
75
75
|
@hh = (@secs / SECONDS_PER_HOUR).to_i
|
76
76
|
rem = @secs - (@hh * SECONDS_PER_HOUR)
|
77
77
|
@mm = (rem / 60).to_i
|
78
|
-
@ss = rem - (@mm * 60).to_i
|
79
|
-
@ss = 59 if @ss > 59
|
78
|
+
@ss = rem - (@mm * 60) # .to_i
|
79
|
+
@ss = 59.999 if @ss > 59
|
80
80
|
end
|
81
81
|
|
82
|
-
def zero_pad(val)
|
83
|
-
|
84
|
-
|
82
|
+
def zero_pad(val, fractional_digits=0)
|
83
|
+
fmt = "%2.#{fractional_digits}f"
|
84
|
+
vvv = sprintf(fmt, val).tr(' ','')
|
85
|
+
if (val < 10)
|
86
|
+
return '0' + vvv # val.to_s
|
85
87
|
else
|
86
|
-
return '' + val.to_s
|
88
|
+
return '' + vvv # val.to_s
|
87
89
|
end
|
88
90
|
end
|
89
91
|
|
data/lib/m26_ruby_extensions.rb
CHANGED
data/lib/m26_speed.rb
CHANGED
data/lib/m26_ultra.rb
CHANGED
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m26
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Joakim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 2.14.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 2.14.1
|
27
27
|
description: A ruby gem for running, cycling, and swimming calculations.
|
28
|
-
email:
|
28
|
+
email: christopher.joakim@gmail.com
|
29
29
|
executables: []
|
30
30
|
extensions: []
|
31
31
|
extra_rdoc_files: []
|
@@ -49,18 +49,19 @@ require_paths:
|
|
49
49
|
- lib
|
50
50
|
required_ruby_version: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
54
|
+
version: 2.1.1
|
55
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
61
|
rubyforge_project:
|
62
|
-
rubygems_version: 2.
|
62
|
+
rubygems_version: 2.2.2
|
63
63
|
signing_key:
|
64
64
|
specification_version: 4
|
65
65
|
summary: m26
|
66
66
|
test_files: []
|
67
|
+
has_rdoc: true
|