human_speakable 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/human_speakable.rb +41 -6
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97e4144f2c34bab88cc49e417d2c5164ba7ab08abda4219092ddf137e8f67e7a
|
4
|
+
data.tar.gz: cf2975a14c960b0cdce14aef458502cda065803079d280c9c36faef6557e41be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af088c88e5947cc0dcaf6d3edad00f7d961f58ee6a0effde516c4699de04cb16d8ddb77853c5d29d2a49419ef929ee65ca6f0ea742fc992b58690375e26585a0
|
7
|
+
data.tar.gz: 37fb2f9014b31eab73044d5772ce43b8b27bfbb7ff809edd74546e0161ab310076d97cb2dafb5b10a3269328a0ad29d1fad7c5fabb5583c45534288b2ac219ae
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/human_speakable.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
# file: human_speakable.rb
|
4
4
|
|
5
|
-
module
|
6
|
-
|
5
|
+
module Ordinals
|
6
|
+
|
7
7
|
refine Integer do
|
8
8
|
|
9
9
|
def ordinal
|
@@ -12,6 +12,34 @@ module HumanSpeakable
|
|
12
12
|
end
|
13
13
|
|
14
14
|
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
module HumanSpeakable
|
19
|
+
using Ordinals
|
20
|
+
|
21
|
+
def self.format_date(date)
|
22
|
+
|
23
|
+
case (date - Date.today).to_i
|
24
|
+
when (0) then 'today'
|
25
|
+
when (1) then 'tomorrow'
|
26
|
+
when (2..6) then 'this ' + Date::DAYNAMES[date.wday]
|
27
|
+
when (7..10) then 'next ' + Date::DAYNAMES[date.wday]
|
28
|
+
when (11..14)
|
29
|
+
['next', Date::DAYNAMES[date.wday], 'the', (date.day.ordinal), 'of',
|
30
|
+
Date::MONTHNAMES[date.month]].join(' ')
|
31
|
+
when (15..21)
|
32
|
+
[Date::DAYNAMES[date.wday], 'the', (date.day.ordinal), 'of',
|
33
|
+
Date::MONTHNAMES[date.month]].join(' ')
|
34
|
+
else
|
35
|
+
['on the', (date.day.ordinal), 'of',
|
36
|
+
Date::MONTHNAMES[date.month]].join(' ')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.format_time(time)
|
41
|
+
time.strftime("%-I:%M%P")
|
42
|
+
end
|
15
43
|
|
16
44
|
refine String do
|
17
45
|
|
@@ -19,8 +47,7 @@ module HumanSpeakable
|
|
19
47
|
|
20
48
|
def humanize()
|
21
49
|
date = Date.parse(self)
|
22
|
-
|
23
|
-
Date::MONTHNAMES[date.month]].join(' ')
|
50
|
+
HumanSpeakable.format_date(date)
|
24
51
|
end
|
25
52
|
|
26
53
|
end
|
@@ -29,10 +56,18 @@ module HumanSpeakable
|
|
29
56
|
|
30
57
|
def humanize()
|
31
58
|
date = self
|
32
|
-
|
33
|
-
Date::MONTHNAMES[date.month]].join(' ')
|
59
|
+
HumanSpeakable.format_date(date)
|
34
60
|
end
|
35
61
|
|
36
62
|
end
|
63
|
+
|
64
|
+
refine Time do
|
65
|
+
|
66
|
+
def humanize()
|
67
|
+
time = self
|
68
|
+
HumanSpeakable.format_time(time)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
37
72
|
|
38
73
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: human_speakable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -66,5 +66,5 @@ requirements: []
|
|
66
66
|
rubygems_version: 3.0.1
|
67
67
|
signing_key:
|
68
68
|
specification_version: 4
|
69
|
-
summary:
|
69
|
+
summary: Makes it convenient to format a date as it would be spoken in English.
|
70
70
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|