m26 0.4.0 → 1.0.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: 23726f233388a0069c5caf3eaea3b6a04ebe4592
4
- data.tar.gz: a92371efa9b9ccee824342b9f4826e765318be8a
3
+ metadata.gz: 8343325b39c429fa5c552a1c904f0eb37921da18
4
+ data.tar.gz: ffcbf76e7efffbd2e3bef238fc085358cd131c19
5
5
  SHA512:
6
- metadata.gz: a0a06b1b9d4562c2f584f35a92f4086cb556b5bfc5b5daa8241f4ad8941d208c597011ed777d802b3ee5f151e90f80655fd303b550507ab212e155fbce747528
7
- data.tar.gz: 8d4c18c2372521a704d99c936371380cb3f0ddc33ae038bdc637782f5b9c8a4231cfab21c55dd39e9645ee1ac7dfe612f5be7b73463ad86b83bdc73def4d1953
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) 2013 Chris Joakim, JoakimSoftware LLC
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
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
3
+ Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
4
4
 
5
5
  =end
6
6
 
data/lib/m26_age_grade.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC.
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 predict(elapsed_time, formula='maxpulse')
19
+ def calculate(elapsed_time, formula='maxpulse')
20
20
  if formula.to_s == 'maxpulse'
21
- predict_maxpulse(elapsed_time)
21
+ calculate_maxpulse(elapsed_time)
22
22
  else
23
23
  nil
24
24
  end
25
25
  end
26
26
 
27
- def predict_maxpulse(elapsed_time)
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) 2013 Chris Joakim, JoakimSoftware LLC
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.4.0'
12
- DATE = '2013-11-01'
11
+ VERSION = '1.0.0'
12
+ DATE = '2014-10-17'
13
13
  AUTHOR = 'Chris Joakim'
14
- EMAIL = 'cjoakim@bellsouth.net'
14
+ EMAIL = 'christopher.joakim@gmail.com'
15
15
 
16
16
  UOM_MILES = 'm'
17
17
  UOM_KILOMETERS = 'k'
data/lib/m26_distance.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
3
+ Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
4
4
 
5
5
  =end
6
6
 
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
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(@hh)}:#{zero_pad(@mm)}:#{zero_pad(@ss)}"
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=#{@hh} mm=#{@mm} ss=#{@ss} secs=#{@secs} as_hours=#{as_hours()} as_hhmmss=#{as_hhmmss()}"
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 << " #{@secs} #{as_hours}"
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.round
67
+ @ss = array[0].to_f
68
68
  end
69
69
 
70
- @secs = (@hh.to_i * SECONDS_PER_HOUR) + (@mm.to_i * 60) + (@ss.to_f);
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.to_i
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
- if (val.to_i < 10)
84
- return '0' + val.to_s
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
 
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
3
+ Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
4
4
 
5
5
  =end
6
6
 
data/lib/m26_speed.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
3
+ Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
4
4
 
5
5
  =end
6
6
 
data/lib/m26_ultra.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
3
+ Copyright (C) 2014 Chris Joakim, JoakimSoftware LLC
4
4
 
5
5
  =end
6
6
 
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.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: 2013-11-01 00:00:00.000000000 Z
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: cjoakim@bellsouth.net
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.0.0
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.0.6
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