m26 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/m26.rb +1 -0
- data/lib/m26_age.rb +5 -0
- data/lib/m26_age_grade.rb +51 -0
- data/lib/m26_constants.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 318c44de00f129e0fd7e76f76efe72189895c72b
|
4
|
+
data.tar.gz: 39c70c2a91d6d4e854a3f0a6ca01a622f077adf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f3b88660bb673e02dc6194032cd72d5feefb56b0ed6b38c26c7920c1af62069ade840588afff4847603f93265ef590edd4c99dd63053ea5852da19359112830
|
7
|
+
data.tar.gz: ee63ef38c9d945807d5ea9902ad17a1a65bde4e67b0c8b003fde177be2b26a439392d1e8cb1576d4fdcf58be67028d3297df68d3dac7ddc53258af637cb16d1b
|
data/lib/m26.rb
CHANGED
data/lib/m26_age.rb
CHANGED
@@ -15,6 +15,7 @@ module M26
|
|
15
15
|
@@leap_years
|
16
16
|
end
|
17
17
|
|
18
|
+
# TODO - move these two methods down
|
18
19
|
def leap_years
|
19
20
|
@@leap_years
|
20
21
|
end
|
@@ -79,6 +80,10 @@ module M26
|
|
79
80
|
"#{dob.month}-#{dob.mday}"
|
80
81
|
end
|
81
82
|
|
83
|
+
def to_f
|
84
|
+
float_years # TODO - test
|
85
|
+
end
|
86
|
+
|
82
87
|
def max_pulse
|
83
88
|
if float_years <= 20
|
84
89
|
200.0
|
@@ -0,0 +1,51 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC.
|
4
|
+
|
5
|
+
=end
|
6
|
+
|
7
|
+
module M26
|
8
|
+
|
9
|
+
class AgeGrade
|
10
|
+
|
11
|
+
attr_accessor :age1, :age2
|
12
|
+
|
13
|
+
def initialize(a1, a2)
|
14
|
+
@age1, @age2 = a1.to_f, a2.to_f
|
15
|
+
end
|
16
|
+
|
17
|
+
public
|
18
|
+
|
19
|
+
def predict(elapsed_time, formula='maxpulse')
|
20
|
+
if formula.to_s == 'maxpulse'
|
21
|
+
predict_maxpulse(elapsed_time)
|
22
|
+
else
|
23
|
+
nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def predict_maxpulse(elapsed_time)
|
28
|
+
p1, p2 = maxpulse1.to_f, maxpulse2.to_f
|
29
|
+
ratio = p1 / p2
|
30
|
+
psecs = ratio * elapsed_time.secs.to_f
|
31
|
+
ptime = M26::ElapsedTime.new(psecs)
|
32
|
+
ptime.as_hhmmss
|
33
|
+
end
|
34
|
+
|
35
|
+
def maxpulse1
|
36
|
+
maxpulse(age1)
|
37
|
+
end
|
38
|
+
|
39
|
+
def maxpulse2
|
40
|
+
maxpulse(age2)
|
41
|
+
end
|
42
|
+
|
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
|
47
|
+
p
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
data/lib/m26_constants.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m26
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.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: 2013-
|
11
|
+
date: 2013-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -32,6 +32,7 @@ extra_rdoc_files: []
|
|
32
32
|
files:
|
33
33
|
- lib/m26.rb
|
34
34
|
- lib/m26_age.rb
|
35
|
+
- lib/m26_age_grade.rb
|
35
36
|
- lib/m26_constants.rb
|
36
37
|
- lib/m26_distance.rb
|
37
38
|
- lib/m26_elapsed_time.rb
|