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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f96d498bef054336979c845da1c8bc110219456
4
- data.tar.gz: a9856a027f423834e783b21b5c2ed97f5de3f6c8
3
+ metadata.gz: 318c44de00f129e0fd7e76f76efe72189895c72b
4
+ data.tar.gz: 39c70c2a91d6d4e854a3f0a6ca01a622f077adf1
5
5
  SHA512:
6
- metadata.gz: 0a2f84bc39e91329b87eae6ff19e7b0064b7fd39b3c630883c52de7b82e5bbd59061f3446fac10f5153c8b7c648c0ba7bbb68ee248f550b05425956ee6cdc0a9
7
- data.tar.gz: b5d175d4a245e9b0a107eb2d80cd915fec30ed09fb362201bf7cf52571948aba476eea24391e6b0c6ae41d6eb989f80d69740119bd76ad46715bfdc462f21dfd
6
+ metadata.gz: 8f3b88660bb673e02dc6194032cd72d5feefb56b0ed6b38c26c7920c1af62069ade840588afff4847603f93265ef590edd4c99dd63053ea5852da19359112830
7
+ data.tar.gz: ee63ef38c9d945807d5ea9902ad17a1a65bde4e67b0c8b003fde177be2b26a439392d1e8cb1576d4fdcf58be67028d3297df68d3dac7ddc53258af637cb16d1b
data/lib/m26.rb CHANGED
@@ -8,6 +8,7 @@ require 'rubygems'
8
8
 
9
9
  require 'm26_ruby_extensions'
10
10
  require 'm26_age'
11
+ require 'm26_age_grade'
11
12
  require 'm26_constants'
12
13
  require 'm26_distance'
13
14
  require 'm26_elapsed_time'
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
@@ -8,8 +8,8 @@ module M26
8
8
 
9
9
  module Constants
10
10
 
11
- VERSION = '0.2.0'
12
- DATE = '2013-08-30'
11
+ VERSION = '0.3.0'
12
+ DATE = '2013-10-13'
13
13
  AUTHOR = 'Chris Joakim'
14
14
  EMAIL = 'cjoakim@bellsouth.net'
15
15
 
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.2.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-08-30 00:00:00.000000000 Z
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