date-formatter 0.1.0 → 0.1.1

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: 9df162a0fb3e1ec3c03706ff45460dd2063c2fa5
4
- data.tar.gz: 77554d8bae8a8775767c02d8f0e4d1b26df8ea85
3
+ metadata.gz: cc13bc04778d52fe9b85d5526ef59659ba439171
4
+ data.tar.gz: f3c3b990a63d3008ea8ff312fdc87b4e0f0e40f0
5
5
  SHA512:
6
- metadata.gz: f712a4d3e6494680829656dfb2cdf07afec25402a06c543c6b963905bcb4df5bf8b163ae8bd77b00341fba88d184986a163e20954b53feb214054b3affd58359
7
- data.tar.gz: dc2017997ec35eb9a10aac2bc344d4dedbe9aa1493236f44bc5706fc466431716d45a4f1f49211b22ca0e1680d06b7a40f94ad0c420d34dd6ea7a4d9cea24821
6
+ metadata.gz: fc49cd429825bcd25a2929480ffe9b8b84e1cbcb447cb5fa65f5f96e1a964e19f751e38e20a5d3d937dda1fc121e8c36b58bbc40d63ed41b6b8a2ac2accdcc3d
7
+ data.tar.gz: a84af32c4a0541a3a1f8b095de19a33e4b43f61a4448ce5888544b102eeb3a550f5529620f0a8e782316faaf4a81bea370084287292b0b8dd3c0274ef758888c
data/README.md CHANGED
@@ -11,8 +11,8 @@
11
11
 
12
12
  ## Usage
13
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:
14
+ The date by example lets you format dates e.g. "January 02, 2006"
15
+ using an example as a format string e.g "January 02, 2006" instead of the classic strftime format specifier e.g. "%B %d, %Y". The date by example adds:
16
16
 
17
17
  - `String#to_strfime`
18
18
  - `Date#format`
@@ -23,8 +23,13 @@ using an example as a format string e.g "January 04, 2020" instead of the classi
23
23
  to the built-in classes.
24
24
 
25
25
 
26
+ ### The `String#to_strftime` Method
26
27
 
27
- ### `String#to_strftime`
28
+ ```ruby
29
+ class String
30
+ def to_strftime() DateByExample.to_strftime( self ); end
31
+ end
32
+ ```
28
33
 
29
34
  The new `String#to_strftime` method auto-builds the `strftime` format string
30
35
  from an example date:
@@ -42,7 +47,13 @@ p '2 Mon 2006 03:00'.to_strftime #=> "%-d %b %Y %H:%M"
42
47
  ```
43
48
 
44
49
 
45
- ### `Date#format`
50
+ ### The `Date#format` Method
51
+
52
+ ``` ruby
53
+ class Date
54
+ def format( spec ) self.strftime( spec.to_strftime ); end
55
+ end
56
+ ```
46
57
 
47
58
  The new `Date#format` method formats the date like the passed in example:
48
59
 
@@ -57,9 +68,15 @@ p date.format( 'Monday, January 2, 2006' ) #=> "Sunday, February 9, 2020"
57
68
 
58
69
 
59
70
 
60
- ### `Time#format`
71
+ ### The `Time#format` Method
72
+
73
+ ``` ruby
74
+ class Time
75
+ def format( spec ) self.strftime( spec.to_strftime ); end
76
+ end
77
+ ```
61
78
 
62
- The new `Time#format` method format the time like the passed in example:
79
+ The new `Time#format` method formats the time like the passed in example:
63
80
 
64
81
  ``` ruby
65
82
  time = Time.now ## test run on 2020-02-09 00:00
@@ -74,7 +91,13 @@ p time.format( '2 Mon 2006 03:00' ) #=> "9 Sun 2020 00:00"
74
91
  ```
75
92
 
76
93
 
77
- ### `NilClass#format`
94
+ ### The `NilClass#format` Method
95
+
96
+ ``` ruby
97
+ class NilClass
98
+ def format( spec ) ''; end
99
+ end
100
+ ```
78
101
 
79
102
  For convenience the new `NilClass#format` will catch format calls on `nil`
80
103
  and NOT crash but return an empty string
@@ -85,29 +85,16 @@ module DateByExample
85
85
  spec = spec.gsub( 'DD', '%d' )
86
86
  spec = spec.gsub( 'D', '%-d')
87
87
 
88
+ spec = spec.gsub( 'hh', '%H' )
89
+ spec = spec.gsub( 'h', '%-H' )
90
+ spec = spec.gsub( 'mm', '%M' )
91
+ spec = spec.gsub( 'ss', '%S' )
92
+
88
93
  spec
89
94
  end
90
95
  end
91
96
 
92
97
 
93
- ###
94
- # String#to_strfime
95
- #
96
-
97
- # Date#format
98
- # Time#format
99
- # DateTime#format
100
-
101
-
102
- ## test with
103
- # January 04, 2010
104
- # Fri, Jan 04
105
- # 4 Jan 2010
106
- # Friday, January 4, 2010
107
- # ...
108
-
109
-
110
-
111
98
 
112
99
  class String
113
100
  def to_strftime() DateByExample.to_strftime( self ); end
@@ -2,7 +2,7 @@
2
2
  module DateByExample
3
3
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
4
4
  MINOR = 1
5
- PATCH = 0
5
+ PATCH = 1
6
6
  VERSION = [MAJOR,MINOR,PATCH].join('.')
7
7
 
8
8
  def self.version
@@ -24,7 +24,11 @@ class TestFormat < MiniTest::Test
24
24
  'YYYYMMDD' => ['%Y%m%d', '20060102'],
25
25
  'YYMMDD' => ['%y%m%d', '060102'],
26
26
  'YYMMD' => ['%y%m%-d', '06012'],
27
- 'YYYY' => ['%Y', '2006'],
27
+ 'YYYY' => ['%Y', '2006'],
28
+
29
+ 'hh:mm:ss' => ['%H:%M:%S', '03:00:00'],
30
+ 'h:mm:ss' => ['%-H:%M:%S', '3:00:00'],
31
+ 'hh:mm' => ['%H:%M', '03:00'],
28
32
  }
29
33
 
30
34
  dates.each do |date, exp|
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.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer