drexed-datetime 0.0.5 → 0.0.6

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: e9dfd578192c88002cfa41dc153d7051f93c4f10
4
- data.tar.gz: c28dcb1ae4ade33917647237e3ec900fdae0a851
3
+ metadata.gz: c3195a371e9617f1f20167177fca7ca21dc45c9c
4
+ data.tar.gz: 0c580bf728a2d7f879644bad6006c6bf48b5ca39
5
5
  SHA512:
6
- metadata.gz: 324cc8a07c4bb1a801706515c2b0653881d0fb6c4a2dd701dfbeaf7dc589fa08a906761abbd650c9073f87884dd548135028e5d0713fb9cc37a1c3c0178a7710
7
- data.tar.gz: 3dabaae04fae1f7f0a7c883b89a984de82d2b90c4163555ac551020706de9408a7bd2a6b4e2df44415e0e419f7ece9bdafcbbb9b067f698ed133e7391b74835d
6
+ metadata.gz: f5b90092e40de110084dbd9ebf98c4f1127c48ff924fa1767819e92d68ed342de6def65f29dee9bcfd21f226f61b3bc29a9829a7e781fa0a0e3a77bafbce5851
7
+ data.tar.gz: a9ae676beb47202dcd0ec1eac13882d5fd017555be1b04431cd192ff66cb0b61eb7ce350d1f57f2c3d3187a72084326ec1fc042b51b3aeee39df1f4186e73b22
data/README.md CHANGED
@@ -16,8 +16,62 @@ Or install it yourself as:
16
16
 
17
17
  $ gem install drexed-datetime
18
18
 
19
- ## Usage
19
+ ## Datetime helpers
20
20
 
21
21
  ```ruby
22
22
  <%= date_for(@variable.created_at) %>
23
- ```
23
+ ```
24
+
25
+ | Helper | `strftime` equivalent |
26
+ | --- | --- |
27
+ | year_for | 2013 |
28
+ | month_name_for | December |
29
+ | abbr_month_name_for | Dec |
30
+ | day_number_for | 5 |
31
+ | day_name_for | Friday |
32
+ | abbr_day_name_for | Fri |
33
+ | twelve_hour_time_for | 07:13 PM |
34
+ | twelve_hour_time_with_timezone_for | 07:13 PM EST |
35
+ | twenty_four_hour_time_for | 19:12 |
36
+ | twenty_four_hour_time_with_timezone_for | 19:12 EST |
37
+ | month_day_and_time_for | December 4 at 07:11 PM |
38
+ | abbr_month_day_and_time_for | Dec 4 at 07:11 PM |
39
+ | month_day_and_time_with_timezone_for | December 4 at 07:11 PM EST |
40
+ | abbr_month_day_and_time_with_timezone_for | Dec 4 at 07:11 PM EST |
41
+ | datetime_for | December 4, 2013 at 07:11 PM |
42
+ | abbr_datetime_for | Dec 4, 2013 at 07:17 PM |
43
+ | datetime_with_timezone_for | December 4, 2013 at 07:11 PM EST |
44
+ | abbr_datetime_with_timezone_for | Dec 4, 2013 at 07:17 PM EST |
45
+ | date_for | December 4, 2013 |
46
+ | abbr_date_for | Dec 4, 2013 |
47
+ | month_and_day_for | December 4 |
48
+ | abbr_month_and_day_for | Dec 4 |
49
+ | timezone_name_for | EST |
50
+
51
+ ## Datetime formatter
52
+
53
+ ```ruby
54
+ Time.now.datetime_to("yyyy-mm-dd") => "2012-03-04"
55
+ Time.now.datetime_to("M d, yy") => "Mar 4, 12"
56
+ Time.now.datetime_to("hh:mi p") => "02:06 pm"
57
+ ```
58
+
59
+ | Format string | `strftime` equivalent | Output for `t` |
60
+ | --- | --- | --- |
61
+ | "yyyy" | "%Y"| 2013|
62
+ | "yy" | "%y"| 13|
63
+ | "mm" | "%m" | 03 |
64
+ | "m" | "%-m" | 3 |
65
+ | "MM" | "%B" | March |
66
+ | "M" | "%b" | Mar |
67
+ | "dd" | "%d" | 04 |
68
+ | "d" | "%-d" | 4 |
69
+ | "DD" | "%A" | Sunday |
70
+ | "D" | "%a" | Sun |
71
+ | "hh" | "%I" | 02 |
72
+ | "h" | "%l" | 2 |
73
+ | "HH" | "%H" | 14 |
74
+ | "H" | "%-H" | 14 |
75
+ | "mi" | "%M" | 06 |
76
+ | "p" | "%P" | pm |
77
+ | "P" | "%p" | PM |
@@ -1,83 +1,160 @@
1
1
  module DatetimeHelper
2
-
3
- def month_day_and_time_for(tach)
2
+
3
+ ## Ex. 2013
4
+ def year_for(tach)
4
5
  unless tach.blank?
5
- tach.strftime("%B %e at %I:%M %p")
6
+ tach.strftime("%Y")
6
7
  end
7
8
  end
8
-
9
- def date_time_for(tach)
9
+
10
+ ## Ex. December
11
+ def month_name_for(tach)
10
12
  unless tach.blank?
11
- tach.strftime("%B %e, %Y at %I:%M %p")
13
+ tach.strftime("%B")
12
14
  end
13
15
  end
14
-
15
- def date_for(tach)
16
+
17
+ ## Ex. Dec
18
+ def abbr_month_name_for(tach)
16
19
  unless tach.blank?
17
- tach.strftime("%B %e, %Y")
20
+ tach.strftime("%b")
18
21
  end
19
22
  end
20
-
21
- def twenty_four_hour_time_for(tach)
23
+
24
+ ## Ex. 4
25
+ def day_number_for(tach)
22
26
  unless tach.blank?
23
- tach.strftime("%H:%M")
27
+ tach.strftime("%e")
28
+ end
29
+ end
30
+
31
+ ## Ex. Wednesday
32
+ def day_name_for(tach)
33
+ unless tach.blank?
34
+ tach.strftime("%A")
24
35
  end
25
36
  end
26
37
 
38
+ ## Ex. Wed
39
+ def abbr_day_name_for(tach)
40
+ unless tach.blank?
41
+ tach.strftime("%a")
42
+ end
43
+ end
44
+
45
+ ## Ex. 07:13 PM
27
46
  def twelve_hour_time_for(tach)
28
47
  unless tach.blank?
29
48
  tach.strftime("%I:%M %p")
30
49
  end
31
50
  end
32
-
33
- def month_name_for(tach)
51
+
52
+ ## Ex. 07:13 PM EST
53
+ def twelve_hour_time_with_timezone_for(tach)
34
54
  unless tach.blank?
35
- tach.strftime("%B")
55
+ tach.strftime("%I:%M %p")
36
56
  end
37
57
  end
38
-
39
- def abbr_month_name_for(tach)
58
+
59
+ ## Ex. 19:12
60
+ def twenty_four_hour_time_for(tach)
40
61
  unless tach.blank?
41
- tach.strftime("%b")
62
+ tach.strftime("%H:%M")
42
63
  end
43
64
  end
44
-
45
- def day_name_for(tach)
65
+
66
+ ## Ex. 19:12 EST
67
+ def twenty_four_hour_time_with_timezone_for(tach)
46
68
  unless tach.blank?
47
- tach.strftime("%A")
69
+ tach.strftime("%H:%M %Z")
48
70
  end
49
71
  end
50
-
51
- def day_number_for(tach)
72
+
73
+ ## Ex. December 4 at 07:11 PM
74
+ def month_day_and_time_for(tach)
52
75
  unless tach.blank?
53
- tach.strftime("%e")
76
+ tach.strftime("%B %e at %I:%M %p")
54
77
  end
55
78
  end
56
-
57
- def abbr_day_name_for(tach)
79
+
80
+ ## Ex. Dec 4 at 07:11 PM
81
+ def abbr_month_day_and_time_for(tach)
58
82
  unless tach.blank?
59
- tach.strftime("%a")
83
+ tach.strftime("%b %e at %I:%M %p")
60
84
  end
61
85
  end
62
-
63
- def abbr_month_and_day_for(tach)
86
+
87
+ ## Ex. December 4 at 07:11 PM EST
88
+ def month_day_and_time_with_timezone_for(tach)
64
89
  unless tach.blank?
65
- tach.strftime("%b %d")
90
+ tach.strftime("%B %e at %I:%M %p %Z")
66
91
  end
67
92
  end
68
-
93
+
94
+ ## Ex. Dec 4 at 07:11 PM EST
95
+ def abbr_month_day_and_time_with_timezone_for(tach)
96
+ unless tach.blank?
97
+ tach.strftime("%b %e at %I:%M %p %Z")
98
+ end
99
+ end
100
+
101
+ ## Ex. December 4, 2013 at 07:11 PM
102
+ def datetime_for(tach)
103
+ unless tach.blank?
104
+ tach.strftime("%B %e, %Y at %I:%M %p")
105
+ end
106
+ end
107
+
108
+ ## Ex. Dec 4, 2013 at 07:11 PM
109
+ def abbr_datetime_for(tach)
110
+ unless tach.blank?
111
+ tach.strftime("%b %e, %Y at %I:%M %p")
112
+ end
113
+ end
114
+
115
+ ## Ex. December 4, 2013 at 07:11 PM EST
116
+ def datetime_with_timezone_for(tach)
117
+ unless tach.blank?
118
+ tach.strftime("%B %e, %Y at %I:%M %p %Z")
119
+ end
120
+ end
121
+
122
+ ## Ex. Dec 4, 2013 at 07:11 PM EST
123
+ def abbr_datetime_with_timezone_for(tach)
124
+ unless tach.blank?
125
+ tach.strftime("%b %e, %Y at %I:%M %p %Z")
126
+ end
127
+ end
128
+
129
+ ## Ex. December 4, 2013
130
+ def date_for(tach)
131
+ unless tach.blank?
132
+ tach.strftime("%B %e, %Y")
133
+ end
134
+ end
135
+
136
+ ## Ex. Dec 4, 2013
69
137
  def abbr_date_for(tach)
70
138
  unless tach.blank?
71
- tach.strftime("%b %d, %Y")
139
+ tach.strftime("%b %e, %Y")
72
140
  end
73
141
  end
74
142
 
75
- def abbr_date_time_for(tach)
143
+ ## Ex. December 4
144
+ def month_and_day_for(tach)
145
+ unless tach.blank?
146
+ tach.strftime("%B %e")
147
+ end
148
+ end
149
+
150
+ ## Ex. Dec 4
151
+ def abbr_month_and_day_for(tach)
76
152
  unless tach.blank?
77
- tach.strftime("%b %d, %Y at %I:%M %p")
153
+ tach.strftime("%b %e")
78
154
  end
79
155
  end
80
156
 
157
+ ## Ex. EST
81
158
  def timezone_name_for(tach)
82
159
  unless tach.blank?
83
160
  tach.strftime("%Z")
@@ -2,7 +2,28 @@ require "drexed/datetime/version"
2
2
 
3
3
  module Drexed
4
4
  module Datetime
5
- class Engine < ::Rails::Engine
5
+ ## Time.datetime_to("yyyy-mm-dd") => "2012-03-04"
6
+ def datetime_to(tach)
7
+ delineators = tach.scan /\W+/
8
+ formatters = tach.scan /[a-z]+/i
9
+ units = { "yy" => "y",
10
+ "yyyy" => "Y",
11
+ "m" => "-m",
12
+ "mm" => "m",
13
+ "M" => "b",
14
+ "MM" => "B",
15
+ "d" => "-d",
16
+ "dd" => "d",
17
+ "D" => "a",
18
+ "DD" => "A",
19
+ "h" => "-I",
20
+ "hh" => "I",
21
+ "H" => "-H",
22
+ "HH" => "H",
23
+ "mi" => "M",
24
+ "p" => "P",
25
+ "P" => "p" }
26
+ strftime(formatters.map{ |f| "%#{units[f]}#{delineators.shift || ""}" }.join)
6
27
  end
7
28
  end
8
29
  end
@@ -1,5 +1,5 @@
1
1
  module Drexed
2
2
  module Datetime
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drexed-datetime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-04 00:00:00.000000000 Z
11
+ date: 2013-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler