active_object 2.2.0 → 2.2.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 +4 -4
- data/README.md +14 -12
- data/lib/active_object/date.rb +105 -0
- data/lib/active_object/time.rb +11 -10
- data/lib/active_object/version.rb +1 -1
- data/lib/active_object.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 870ef24dd02b4405a716b0ad589d5e3721fe689f
|
4
|
+
data.tar.gz: ba49e38df4f368992b5a8ccea743a2c1c2478b18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ae4f6793ed35ab3599f4d92482e71c5791c3da43f96a7eb62f934b07c8feef55bb01c744d7461789fbd7d57de872d8eec30ee28f9b6236c8e351a7e18c31c52
|
7
|
+
data.tar.gz: e86c3ef0f206ef80e695121e565821ab8c74ec630053695ed3eee3f8e003c55f265ba0c45ffe650612a810d37a569c1ed15b97311c1e6d6f162797ee19dc1b65
|
data/README.md
CHANGED
@@ -1536,6 +1536,8 @@ h.slice!(:a, :b) #=> { c: 3, d: 4 }
|
|
1536
1536
|
|
1537
1537
|
## Time
|
1538
1538
|
|
1539
|
+
*Note:* also works with Date class.
|
1540
|
+
|
1539
1541
|
####Format:####
|
1540
1542
|
`format` converts a Date or Time object to format it using a human readable string.
|
1541
1543
|
|
@@ -1544,18 +1546,18 @@ h.slice!(:a, :b) #=> { c: 3, d: 4 }
|
|
1544
1546
|
* Characters can only be used to generate a format part
|
1545
1547
|
|
1546
1548
|
```ruby
|
1547
|
-
|
1549
|
+
Date.today.format("year") #=> "2014"
|
1548
1550
|
Time.now.format("month_name day, year hour:minute ampm") #=> "January 09, 2014 02:31 pm"
|
1549
1551
|
```
|
1550
1552
|
|
1551
1553
|
| Name | Key | Equivalent `strftime` | Result |
|
1552
1554
|
| --- | --- | --- | --- |
|
1553
|
-
| Month - digits zero-padded | `m` or `month` or `
|
1555
|
+
| Month - digits zero-padded | `m` or `month` or `month_padded` | %m | (01..12) |
|
1554
1556
|
| Month - digits unpadded | `mm` or `Month` or `month_unpadded` | %-m | (1..12) |
|
1555
1557
|
| Month - digits blank-padded | `mmm` or `MONTH` or `day_blank` | %_m | ( 1..12) |
|
1556
1558
|
| Month - name | `mmmm` or `month_name` | %B | January |
|
1557
1559
|
| Month - name abbreviated | `mmmmm` or `month_name_abbr` | %b | Jan |
|
1558
|
-
| Day - digits zero-padded | `d` or `day` or `
|
1560
|
+
| Day - digits zero-padded | `d` or `day` or `day_padded` | %d | (01..31) |
|
1559
1561
|
| Day - digits unpadded | `dd` or `Day` or `day_unpadded` | %-d | (1..31) |
|
1560
1562
|
| Day - digits blank-padded | `ddd` or `DAY` or `day_blank` | %_d | ( 1..31) |
|
1561
1563
|
| Day - digits of the year | `dddd` or `day_of_the_year` | %j | (001..366) |
|
@@ -1567,9 +1569,9 @@ Time.now.format("month_name day, year hour:minute ampm") #=> "January 09, 2014 0
|
|
1567
1569
|
| Weekday - name abbreviated | `wwww` or `weekday_name_abbr` | %M | Sun |
|
1568
1570
|
| Year - digits two | `yy` or `yr` | %y | (00..99) |
|
1569
1571
|
| Year - digits four | `yyyy` or `year` | %Y | 1999 |
|
1570
|
-
| Hour - digits zero-padded | `h` or `hour` or `
|
1572
|
+
| Hour - digits zero-padded | `h` or `hour` or `hour_padded` | %H | (00..23) |
|
1571
1573
|
| Hour - digits blank-padded | `hh` or `HOUR` or `hour_blank` | %k | ( 0..23) |
|
1572
|
-
| Hour - digits zero-padded | `hhh` or `hour_imperical` or `
|
1574
|
+
| Hour - digits zero-padded | `hhh` or `hour_imperical` or `hour_imperical_padded` | %I | (01..12) |
|
1573
1575
|
| Hour - digits blank-padded | `hhhh` or `HOUR_IMPERICAL` or `hour_imperical_blank` | %l | ( 1..12) |
|
1574
1576
|
| Minute - minute | `n` or `minute` | %M | (00..59) |
|
1575
1577
|
| Second - second | `s` or `second` | %S | (00..60) |
|
@@ -1585,27 +1587,27 @@ Time.now.format("month_name day, year hour:minute ampm") #=> "January 09, 2014 0
|
|
1585
1587
|
**For a full list check out the time extention file.**
|
1586
1588
|
|
1587
1589
|
```ruby
|
1588
|
-
Time.now.to_format(:year)
|
1589
|
-
Time.now.
|
1590
|
+
Time.now.to_format(:year) #=> "2014"
|
1591
|
+
Time.now.stamp(:datetime) #=> "January 09, 2014 02:31 pm"
|
1590
1592
|
```
|
1591
1593
|
|
1592
1594
|
| Name | Key | Equivalent `strftime` | Result |
|
1593
1595
|
| --- | --- | --- | --- |
|
1594
|
-
| Month - digits zero-padded | `:month` or `:
|
1596
|
+
| Month - digits zero-padded | `:month` or `:month_padded` | %A | (01..12) |
|
1595
1597
|
| Month - digits unpadded | `:month_unpadded` | %a | (1..12) |
|
1596
1598
|
| Month - digits blank-padded | `:month_blank` | %a | ( 1..12) |
|
1597
1599
|
| Month - name | `:month_name` | %A | January |
|
1598
1600
|
| Month - name abbreviated | `:month_name_abbr` | %a | Jan |
|
1599
|
-
| Weekday - digits zero-padded | `:
|
1601
|
+
| Weekday - digits zero-padded | `:weekday_padded` | %A | (01..31) |
|
1600
1602
|
| Weekday - digits unpadded | `:weekday_unpadded` | %a | (1..31) |
|
1601
1603
|
| Weekday - digits blank-padded | `:weekday_blank` | %a | ( 1..31) |
|
1602
1604
|
| Weekday - name | `:weekday_name` | %A | Sunday |
|
1603
1605
|
| Weekday - name abbreviated | `:weekday_name_abbr` | %a | Sun |
|
1604
1606
|
| Year - digits two | `:yr` | %y | (00..99) |
|
1605
1607
|
| Year - digits four | `:year` | %Y | 1999 |
|
1606
|
-
| Hour - digits zero-padded | `:hour` or `:
|
1608
|
+
| Hour - digits zero-padded | `:hour` or `:hour_padded` | %H | (00..23) |
|
1607
1609
|
| Hour - digits blank-padded | `:hour_blank` | %k | ( 0..23) |
|
1608
|
-
| Hour - digits zero-padded imperical | `:
|
1610
|
+
| Hour - digits zero-padded imperical | `:hour_imperical_padded` | %I | (01..12) |
|
1609
1611
|
| Hour - digits blank-padded imperical | `:hour_imperical_blank` | %l | ( 1..12) |
|
1610
1612
|
| Minute - minute | `:minute` | %M | (00..59) |
|
1611
1613
|
| Second - second | `:second` | %S | (00..60) |
|
@@ -1636,7 +1638,7 @@ Time.now.to_format(:datetime) #=> "January 09, 2014 02:31 pm"
|
|
1636
1638
|
| Daytime - name imperical | `:daytime_imperical` | %B %-d %H:%M | January 9 12:31 am |
|
1637
1639
|
| Daytime - name abbreviated imperical | `:daytime_imperical_abbr` | %b %-d %H:%M | Jan 9 12:31 am |
|
1638
1640
|
| Daytime - iso imperical | `:daytime_imperical_iso` | %m-%d %H:%M | 01-09 12:31 am |
|
1639
|
-
| Time - zero-padded | `:time` or `:
|
1641
|
+
| Time - zero-padded | `:time` or `:time_padded` | %H:%M | 00:31 |
|
1640
1642
|
| Time - blank-padded | `:time_blank` | %k:%M %z | 0:31 |
|
1641
1643
|
| Time - with time zone | `:time_tz` | %H:%M %z | 00:31 +0000 |
|
1642
1644
|
| Time - with time zone name | `:time_tzn` | %H:%M %Z | 00:31 UTC |
|
@@ -0,0 +1,105 @@
|
|
1
|
+
class Date
|
2
|
+
|
3
|
+
def format(string)
|
4
|
+
delimiters = string.scan /\W+/
|
5
|
+
formatters = string.scan /[a-z0-9_]+/i
|
6
|
+
|
7
|
+
format_units = {
|
8
|
+
"d" => "d",
|
9
|
+
"day" => "d",
|
10
|
+
"day_padded" => "d",
|
11
|
+
"dd" => "-d",
|
12
|
+
"Day" => "-d",
|
13
|
+
"day_unpadded" => "-d",
|
14
|
+
"ddd" => "_d",
|
15
|
+
"DAY" => "_d",
|
16
|
+
"day_blank" => "_d",
|
17
|
+
"dddd" => "j",
|
18
|
+
"day_of_the_year" => "j",
|
19
|
+
"m" => "m",
|
20
|
+
"month" => "m",
|
21
|
+
"month_padded" => "m",
|
22
|
+
"mm" => "-m",
|
23
|
+
"Month" => "-m",
|
24
|
+
"month_unpadded" => "-m",
|
25
|
+
"mmm" => "_m",
|
26
|
+
"MONTH" => "_m",
|
27
|
+
"month_blank" => "_m",
|
28
|
+
"mmmm" => "B",
|
29
|
+
"month_name" => "B",
|
30
|
+
"mmmmm" => "b",
|
31
|
+
"month_name_abbr" => "b",
|
32
|
+
"w" => "u",
|
33
|
+
"weekday" => "u",
|
34
|
+
"ww" => "w",
|
35
|
+
"weekday_offset" => "w",
|
36
|
+
"www" => "A",
|
37
|
+
"weekday_name" => "A",
|
38
|
+
"wwww" => "a",
|
39
|
+
"weekday_name_abbr" => "a",
|
40
|
+
"wwwww" => "W",
|
41
|
+
"week" => "W",
|
42
|
+
"wwwwww" => "U",
|
43
|
+
"week_offset" => "U",
|
44
|
+
"yy" => "y",
|
45
|
+
"yr" => "y",
|
46
|
+
"yyyy" => "Y",
|
47
|
+
"year" => "Y",
|
48
|
+
"ampm" => "P",
|
49
|
+
"meridian" => "P",
|
50
|
+
"AMPM" => "p",
|
51
|
+
"MERIDIAN" => "p"
|
52
|
+
}
|
53
|
+
|
54
|
+
strftime(formatters.map { |f| "%#{format_units.fetch(f)}#{delimiters.shift || ''}" }.join(""))
|
55
|
+
end
|
56
|
+
|
57
|
+
def to_format(key)
|
58
|
+
format_units = {
|
59
|
+
month: "%m",
|
60
|
+
month_padded: "%m",
|
61
|
+
month_unpadded: "%-m",
|
62
|
+
month_blank: "%_m",
|
63
|
+
month_name: "%B",
|
64
|
+
month_name_abbr: "%b",
|
65
|
+
weekday: "%d",
|
66
|
+
weekday_padded: "%d",
|
67
|
+
weekday_unpadded: "%-d",
|
68
|
+
weekday_blank: "%_d",
|
69
|
+
weekday_name: "%A",
|
70
|
+
weekday_name_abbr: "%a",
|
71
|
+
yr: "%y",
|
72
|
+
year_abbr: "%y",
|
73
|
+
year: "%Y",
|
74
|
+
date: "%B %-d, %Y",
|
75
|
+
date_abbr: "%b %-d, %Y",
|
76
|
+
date_iso: "%Y-%m-%d",
|
77
|
+
datetime: "%B %-d, %Y %H:%M",
|
78
|
+
datetime_abbr: "%b %-d, %Y %H:%M",
|
79
|
+
datetime_iso: "%Y-%m-%d %H:%M",
|
80
|
+
datetime_imperical: "%B %-d, %Y %I:%M %P",
|
81
|
+
datetime_imperical_abbr: "%b %-d, %Y %I:%M %P",
|
82
|
+
datetime_imperical_iso: "%Y-%m-%d %I:%M %P",
|
83
|
+
datetime_tzn: "%B %-d, %Y %H:%M %Z",
|
84
|
+
datetime_abbr_tzn: "%b %-d, %Y %H:%M %Z",
|
85
|
+
datetime_iso_tzn: "%Y-%m-%d %H:%M %z",
|
86
|
+
datetime_imperical_tzn: "%B %-d, %Y %I:%M %P %Z",
|
87
|
+
datetime_imperical_abbr_tzn: "%b %-d, %Y %I:%M %P %Z",
|
88
|
+
datetime_imperical_iso_tzn: "%Y-%m-%d %I:%M %P %z",
|
89
|
+
day: "%B %-d",
|
90
|
+
day_abbr: "%b %-d",
|
91
|
+
day_iso: "%m-%d",
|
92
|
+
daytime: "%B %-d %H:%M",
|
93
|
+
daytime_abbr: "%b %-d %H:%M",
|
94
|
+
daytime_iso: "%m-%d %H:%M",
|
95
|
+
daytime_imperical: "%B %-d %I:%M %P",
|
96
|
+
daytime_imperical_abbr: "%b %-d %I:%M %P",
|
97
|
+
daytime_imperical_iso: "%m-%d %I:%M %P"
|
98
|
+
}
|
99
|
+
|
100
|
+
strftime(format_units.fetch(key))
|
101
|
+
end
|
102
|
+
|
103
|
+
alias_method :stamp, :to_format
|
104
|
+
|
105
|
+
end
|
data/lib/active_object/time.rb
CHANGED
@@ -7,7 +7,7 @@ class Time
|
|
7
7
|
format_units = {
|
8
8
|
"d" => "d",
|
9
9
|
"day" => "d",
|
10
|
-
"
|
10
|
+
"day_padded" => "d",
|
11
11
|
"dd" => "-d",
|
12
12
|
"Day" => "-d",
|
13
13
|
"day_unpadded" => "-d",
|
@@ -18,7 +18,7 @@ class Time
|
|
18
18
|
"day_of_the_year" => "j",
|
19
19
|
"m" => "m",
|
20
20
|
"month" => "m",
|
21
|
-
"
|
21
|
+
"month_padded" => "m",
|
22
22
|
"mm" => "-m",
|
23
23
|
"Month" => "-m",
|
24
24
|
"month_unpadded" => "-m",
|
@@ -47,13 +47,13 @@ class Time
|
|
47
47
|
"year" => "Y",
|
48
48
|
"h" => "H",
|
49
49
|
"hour" => "H",
|
50
|
-
"
|
50
|
+
"hour_padded" => "H",
|
51
51
|
"hh" => "k",
|
52
52
|
"HOUR" => "k",
|
53
53
|
"hour_blank" => "k",
|
54
54
|
"hhh" => "I",
|
55
55
|
"hour_imperical" => "I",
|
56
|
-
"
|
56
|
+
"hour_imperical_padded" => "I",
|
57
57
|
"hhhh" => "l",
|
58
58
|
"HOUR_IMPERICAL" => "l",
|
59
59
|
"hour_imperical_blank" => "l",
|
@@ -81,24 +81,25 @@ class Time
|
|
81
81
|
def to_format(key)
|
82
82
|
format_units = {
|
83
83
|
month: "%m",
|
84
|
-
|
84
|
+
month_padded: "%m",
|
85
85
|
month_unpadded: "%-m",
|
86
86
|
month_blank: "%_m",
|
87
87
|
month_name: "%B",
|
88
88
|
month_name_abbr: "%b",
|
89
89
|
weekday: "%d",
|
90
|
-
|
90
|
+
weekday_padded: "%d",
|
91
91
|
weekday_unpadded: "%-d",
|
92
92
|
weekday_blank: "%_d",
|
93
93
|
weekday_name: "%A",
|
94
94
|
weekday_name_abbr: "%a",
|
95
95
|
yr: "%y",
|
96
|
+
year_abbr: "%y",
|
96
97
|
year: "%Y",
|
97
98
|
hour: "%H",
|
98
|
-
|
99
|
+
hour_padded: "%H",
|
99
100
|
hour_blank: "%k",
|
100
101
|
hour_imperical: "%I",
|
101
|
-
|
102
|
+
hour_imperical_padded: "%I",
|
102
103
|
hour_imperical_blank: "%l",
|
103
104
|
ampm: "%P",
|
104
105
|
meridian: "%P",
|
@@ -133,12 +134,12 @@ class Time
|
|
133
134
|
daytime_imperical_abbr: "%b %-d %I:%M %P",
|
134
135
|
daytime_imperical_iso: "%m-%d %I:%M %P",
|
135
136
|
time: "%H:%M",
|
136
|
-
|
137
|
+
time_padded: "%H:%M",
|
137
138
|
time_blank: "%k:%M",
|
138
139
|
time_tz: "%H:%M %z",
|
139
140
|
time_tzn: "%H:%M %Z",
|
140
141
|
time_imperical: "%I:%M %P",
|
141
|
-
|
142
|
+
time_imperical_padded: "%I:%M %P",
|
142
143
|
time_imperical_blank: "%l:%M %P",
|
143
144
|
time_imperical_tz: "%I:%M %P %z",
|
144
145
|
time_imperical_tzn: "%I:%M %P %Z"
|
data/lib/active_object.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_object
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- bin/setup
|
89
89
|
- lib/active_object.rb
|
90
90
|
- lib/active_object/array.rb
|
91
|
+
- lib/active_object/date.rb
|
91
92
|
- lib/active_object/enumerable.rb
|
92
93
|
- lib/active_object/hash.rb
|
93
94
|
- lib/active_object/integer.rb
|