m26 0.3.0 → 0.4.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: 318c44de00f129e0fd7e76f76efe72189895c72b
4
- data.tar.gz: 39c70c2a91d6d4e854a3f0a6ca01a622f077adf1
3
+ metadata.gz: 23726f233388a0069c5caf3eaea3b6a04ebe4592
4
+ data.tar.gz: a92371efa9b9ccee824342b9f4826e765318be8a
5
5
  SHA512:
6
- metadata.gz: 8f3b88660bb673e02dc6194032cd72d5feefb56b0ed6b38c26c7920c1af62069ade840588afff4847603f93265ef590edd4c99dd63053ea5852da19359112830
7
- data.tar.gz: ee63ef38c9d945807d5ea9902ad17a1a65bde4e67b0c8b003fde177be2b26a439392d1e8cb1576d4fdcf58be67028d3297df68d3dac7ddc53258af637cb16d1b
6
+ metadata.gz: a0a06b1b9d4562c2f584f35a92f4086cb556b5bfc5b5daa8241f4ad8941d208c597011ed777d802b3ee5f151e90f80655fd303b550507ab212e155fbce747528
7
+ data.tar.gz: 8d4c18c2372521a704d99c936371380cb3f0ddc33ae038bdc637782f5b9c8a4231cfab21c55dd39e9645ee1ac7dfe612f5be7b73463ad86b83bdc73def4d1953
data/lib/m26.rb CHANGED
@@ -5,6 +5,7 @@ Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
5
5
  =end
6
6
 
7
7
  require 'rubygems'
8
+ require 'date'
8
9
 
9
10
  require 'm26_ruby_extensions'
10
11
  require 'm26_age'
@@ -13,3 +14,6 @@ require 'm26_constants'
13
14
  require 'm26_distance'
14
15
  require 'm26_elapsed_time'
15
16
  require 'm26_speed'
17
+ require 'm26_ultra'
18
+
19
+ # puts "m26 loaded in PID: #{Process.pid}"
data/lib/m26_constants.rb CHANGED
@@ -8,8 +8,8 @@ module M26
8
8
 
9
9
  module Constants
10
10
 
11
- VERSION = '0.3.0'
12
- DATE = '2013-10-13'
11
+ VERSION = '0.4.0'
12
+ DATE = '2013-11-01'
13
13
  AUTHOR = 'Chris Joakim'
14
14
  EMAIL = 'cjoakim@bellsouth.net'
15
15
 
data/lib/m26_ultra.rb ADDED
@@ -0,0 +1,78 @@
1
+ =begin
2
+
3
+ Copyright (C) 2013 Chris Joakim, JoakimSoftware LLC
4
+
5
+ =end
6
+
7
+ module M26
8
+
9
+ class Ultra
10
+
11
+ attr_accessor :run_pace, :run_time
12
+ attr_accessor :walk_pace, :walk_time
13
+ attr_accessor :stopped_time_per_hour, :stopped_time_pct, :moving_time_pct
14
+ attr_accessor :moving_secs, :moving_run_pct, :moving_walk_pct
15
+ attr_accessor :stop_factor, :moving_time, :total_time
16
+ attr_accessor :run_secs, :walk_secs, :avg_rw_secs
17
+ attr_accessor :moving_speed, :overall_speed
18
+
19
+ def initialize(rp, rt, wp, wt, sth=nil, debug=false)
20
+ @run_pace, @run_time = rp, rt
21
+ @walk_pace, @walk_time = wp, wt
22
+ @stopped_time_per_hour = sth
23
+ @overall_mph = 0.0
24
+
25
+ if stopped_time_per_hour
26
+ @stopped_time_pct = stopped_time_per_hour.secs.to_f / M26::Constants::SECONDS_PER_HOUR.to_f
27
+ @moving_time_pct = 1.0 - stopped_time_pct
28
+ else
29
+ @stopped_time_pct = 0.0
30
+ @moving_time_pct = 1.0
31
+ end
32
+
33
+ @moving_secs = (rt.secs + wt.secs).to_f
34
+ @moving_run_pct = rt.secs.to_f / moving_secs.to_f
35
+ @moving_walk_pct = 1.0 - moving_run_pct
36
+
37
+ @run_secs = moving_run_pct * rp.secs
38
+ @walk_secs = moving_walk_pct * wp.secs
39
+ @avg_rw_secs = (run_secs + walk_secs).to_f
40
+
41
+ @stop_factor = 1.0 - stopped_time_pct
42
+ @moving_time = M26::ElapsedTime.new(avg_rw_secs)
43
+ @total_time = M26::ElapsedTime.new(avg_rw_secs.to_f / stop_factor)
44
+ @moving_speed = M26::Speed.new(mile, moving_time)
45
+ @overall_speed = M26::Speed.new(mile, total_time)
46
+
47
+ if debug
48
+ puts "run_pace: #{run_pace.inspect}"
49
+ puts "run_time: #{run_time.inspect}"
50
+ puts "walk_pace: #{walk_pace.inspect}"
51
+ puts "walk_time: #{walk_time.inspect}"
52
+ puts "stopped_time_pct: #{stopped_time_pct.inspect}"
53
+ puts "moving_time_pct: #{moving_time_pct.inspect}"
54
+ puts "moving_secs: #{moving_secs.inspect}"
55
+ puts "moving_run_pct: #{moving_run_pct.inspect}"
56
+ puts "moving_walk_pct: #{moving_walk_pct.inspect}"
57
+ puts "run_secs: #{run_secs.inspect}"
58
+ puts "walk_secs: #{walk_secs.inspect}"
59
+ puts "avg_rw_secs: #{avg_rw_secs.inspect}"
60
+ puts "stop_factor: #{stop_factor}"
61
+ puts "moving_time: #{moving_time}"
62
+ puts "total_time: #{total_time}"
63
+ puts "moving_speed: #{moving_speed}"
64
+ puts "overall_speed: #{overall_speed}"
65
+ end
66
+ end
67
+
68
+ def mile
69
+ M26::Distance.new(1.0)
70
+ end
71
+
72
+ def average_pace_per_mile
73
+ "#{@tpm.as_hhmmss}"
74
+ end
75
+
76
+ end
77
+
78
+ end
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.3.0
4
+ version: 0.4.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-10-13 00:00:00.000000000 Z
11
+ date: 2013-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -38,6 +38,7 @@ files:
38
38
  - lib/m26_elapsed_time.rb
39
39
  - lib/m26_ruby_extensions.rb
40
40
  - lib/m26_speed.rb
41
+ - lib/m26_ultra.rb
41
42
  homepage: https://github.com/cjoakim/m26
42
43
  licenses:
43
44
  - GPL-3