m26 0.2.0 → 0.3.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 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