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 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