date-formatter 0.0.1 → 0.1.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 +4 -4
- data/README.md +68 -11
- data/Rakefile +1 -1
- data/lib/date-formatter/version.rb +2 -2
- 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: 9df162a0fb3e1ec3c03706ff45460dd2063c2fa5
|
4
|
+
data.tar.gz: 77554d8bae8a8775767c02d8f0e4d1b26df8ea85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f712a4d3e6494680829656dfb2cdf07afec25402a06c543c6b963905bcb4df5bf8b163ae8bd77b00341fba88d184986a163e20954b53feb214054b3affd58359
|
7
|
+
data.tar.gz: dc2017997ec35eb9a10aac2bc344d4dedbe9aa1493236f44bc5706fc466431716d45a4f1f49211b22ca0e1680d06b7a40f94ad0c420d34dd6ea7a4d9cea24821
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# date-formatter - date formatter by example; auto-builds the strftime format string from
|
1
|
+
# date-formatter - date formatter by example; auto-builds the strftime format string from an example date
|
2
2
|
|
3
3
|
|
4
4
|
* home :: [github.com/feedreader/pluto](https://github.com/feedreader/pluto)
|
@@ -9,24 +9,81 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
|
12
|
-
|
13
12
|
## Usage
|
14
13
|
|
14
|
+
The date by example lets you format dates e.g. "January 04, 2020"
|
15
|
+
using an example as a format string e.g "January 04, 2020" instead of the classic strftime format specifier e.g. "%B %d, %Y". The date by example adds:
|
16
|
+
|
17
|
+
- `String#to_strfime`
|
18
|
+
- `Date#format`
|
19
|
+
- `Time#format`
|
20
|
+
- `DateTime#format`
|
21
|
+
- `NilClass#format`
|
22
|
+
|
23
|
+
to the built-in classes.
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
### `String#to_strftime`
|
28
|
+
|
29
|
+
The new `String#to_strftime` method auto-builds the `strftime` format string
|
30
|
+
from an example date:
|
31
|
+
|
32
|
+
``` ruby
|
33
|
+
require 'date/formatter'
|
34
|
+
|
35
|
+
p 'January 02, 2006'.to_strftime #=> "%B %d, %Y"
|
36
|
+
p 'Mon, Jan 02'.to_strftime #=> "%a, %b %d"
|
37
|
+
p '2 Jan 2006'.to_strftime #=> "%-d %b %Y"
|
38
|
+
p 'Monday, January 2, 2006'.to_strftime #=> "%A, %B %-d, %Y"
|
39
|
+
|
40
|
+
p 'Mon, Jan 02 3:00'.to_strftime #=> "%a, %b %d %-H:%M"
|
41
|
+
p '2 Mon 2006 03:00'.to_strftime #=> "%-d %b %Y %H:%M"
|
42
|
+
```
|
43
|
+
|
44
|
+
|
45
|
+
### `Date#format`
|
46
|
+
|
47
|
+
The new `Date#format` method formats the date like the passed in example:
|
48
|
+
|
49
|
+
``` ruby
|
50
|
+
date = Date.today ## test run on 2020-02-09
|
51
|
+
|
52
|
+
p date.format( 'January 02, 2006' ) #=> "February 09, 2020"
|
53
|
+
p date.format( 'Mon, Jan 02' ) #=> "Sun, Feb 09"
|
54
|
+
p date.format( '2 Jan 2006' ) #=> "9 Feb 2020"
|
55
|
+
p date.format( 'Monday, January 2, 2006' ) #=> "Sunday, February 9, 2020"
|
56
|
+
```
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
### `Time#format`
|
61
|
+
|
62
|
+
The new `Time#format` method format the time like the passed in example:
|
63
|
+
|
64
|
+
``` ruby
|
65
|
+
time = Time.now ## test run on 2020-02-09 00:00
|
15
66
|
|
67
|
+
p time.format( 'January 02, 2006' ) #=> "February 09, 2020"
|
68
|
+
p time.format( 'Mon, Jan 02' ) #=> "Sun, Feb 09"
|
69
|
+
p time.format( '2 Jan 2006' ) #=> "9 Feb 2020"
|
70
|
+
p time.format( 'Monday, January 2, 2006' ) #=> "Sunday, February 9, 2020"
|
16
71
|
|
17
|
-
|
72
|
+
p time.format( 'Mon, Jan 02 3:00' ) #=> "Sun, Feb 09 0:00"
|
73
|
+
p time.format( '2 Mon 2006 03:00' ) #=> "9 Sun 2020 00:00"
|
74
|
+
```
|
18
75
|
|
19
|
-
| Date by Example | => `strftime` Format |
|
20
|
-
|-------------------------|----------------|
|
21
|
-
| January 04, 2020 | => `%B %d, %Y` |
|
22
|
-
| Fri, Jan 04 | => `%a, %b %d` |
|
23
|
-
| 4 Jan 2020 | => `%-d %b %Y` |
|
24
|
-
| Friday, January 4, 2020 | => `%A, %B %-d, %Y` |
|
25
|
-
| Fri, Jan 04 8:00 | => `%a, %b %d %-H:%M` |
|
26
|
-
| 4 Jan 2020 08:00 | => `%-d %b %Y %H:%M` |
|
27
76
|
|
77
|
+
### `NilClass#format`
|
28
78
|
|
79
|
+
For convenience the new `NilClass#format` will catch format calls on `nil`
|
80
|
+
and NOT crash but return an empty string
|
81
|
+
following the `NilClass#to_s` example:
|
29
82
|
|
83
|
+
``` ruby
|
84
|
+
p nil.format( 'January 02, 2006' ) #=> ""
|
85
|
+
p nil.to_s #=> ""
|
86
|
+
```
|
30
87
|
|
31
88
|
|
32
89
|
## License
|
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ Hoe.spec 'date-formatter' do
|
|
5
5
|
|
6
6
|
self.version = DateByExample::VERSION
|
7
7
|
|
8
|
-
self.summary = "date-formatter - date formatter by example; auto-builds the strftime format string from
|
8
|
+
self.summary = "date-formatter - date formatter by example; auto-builds the strftime format string from an example date"
|
9
9
|
self.description = summary
|
10
10
|
|
11
11
|
self.urls = ['https://github.com/feedreader/pluto']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: date-formatter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.16'
|
41
41
|
description: date-formatter - date formatter by example; auto-builds the strftime
|
42
|
-
format string from
|
42
|
+
format string from an example date
|
43
43
|
email: wwwmake@googlegroups.com
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
@@ -83,5 +83,5 @@ rubygems_version: 2.5.2
|
|
83
83
|
signing_key:
|
84
84
|
specification_version: 4
|
85
85
|
summary: date-formatter - date formatter by example; auto-builds the strftime format
|
86
|
-
string from
|
86
|
+
string from an example date
|
87
87
|
test_files: []
|