runby_pace 0.6.111 → 0.6.112
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/runby_pace/speed.rb +21 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6a23578f0080013d11088d8942eef4aeb20e808
|
4
|
+
data.tar.gz: 979e8d31b0ae9e4cfa1eda173fd6eab73978409b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 601aaaeb48f9fef5d97ee5edcc62f44cb2c9aa734d67b94d91ada0f0635e03aaafb0bf0b845a70898762595e60ebdcaad3eb6fee286dcaa13dbb0a831d49689a
|
7
|
+
data.tar.gz: b86423d35963e49e384f5de4b193118f662776f7074dca439c936c8cd85c8fc5d7c6e297148b7efbacafc0f9d725cd7ad8126b4a802f9a6460b9f8e0e25cb308
|
data/lib/runby_pace/speed.rb
CHANGED
@@ -33,11 +33,26 @@ module Runby
|
|
33
33
|
Runby::Pace.new(time, @distance.uom)
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
|
37
|
+
# @param [String] str is either a long-form speed such as "7.5 miles per hour" or a short-form speed like "7.5mi/ph"
|
38
|
+
def self.parse(str)
|
39
|
+
str = str.to_s.strip.chomp
|
40
|
+
if str.match(/^(?<distance>\d+(?:\.\d+)? ?[A-Za-z]+)(?: per hour|\/ph)$/)
|
41
|
+
distance = Runby::Distance.new($~[:distance])
|
42
|
+
Speed.new distance
|
43
|
+
else
|
44
|
+
raise "Invalid speed format (#{str})"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.try_parse(str)
|
49
|
+
speed, error_message = nil, warning_message = nil
|
50
|
+
begin
|
51
|
+
speed = Speed.parse str
|
52
|
+
rescue StandardError => ex
|
53
|
+
error_message = "#{ex.message} (#{str})"
|
54
|
+
end
|
55
|
+
{ speed: speed, error: error_message, warning: warning_message }
|
41
56
|
end
|
42
57
|
|
43
58
|
def <=>(other)
|
@@ -56,7 +71,7 @@ module Runby
|
|
56
71
|
end
|
57
72
|
|
58
73
|
def init_from_distance(distance)
|
59
|
-
@distance = distance
|
74
|
+
@distance = Distance.new(distance)
|
60
75
|
end
|
61
76
|
|
62
77
|
def init_from_multiplier(multiplier, uom)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: runby_pace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.112
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ty Walls
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -101,7 +101,7 @@ homepage: https://github.com/tygerbytes/runby-pace
|
|
101
101
|
licenses:
|
102
102
|
- MIT
|
103
103
|
metadata:
|
104
|
-
commit-hash:
|
104
|
+
commit-hash: fa51fc21a20b69ad77f48a217732e0294fe0218e
|
105
105
|
post_install_message:
|
106
106
|
rdoc_options: []
|
107
107
|
require_paths:
|