commercial 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 +4 -4
- data/README.md +1 -0
- data/lib/commercial/us.rb +22 -0
- data/lib/commercial/version.rb +1 -1
- data/sig/commercial.rbs +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a1e3a5f7837c3d455ab1195a93d331432e5e90e93da8a4fed14daf7040dda8d8
|
|
4
|
+
data.tar.gz: f9845763f491ab561c96bd304ad597971f8f1f9918aba1befba24695e347b527
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6a5645ea8aef2519d54ba28b94cd357e2f5910e6460b9ceba72fe03f501cf5262c66043fb22af095ef738ece861ce09cf986503ba1d376e302a178e91cbf6aa9
|
|
7
|
+
data.tar.gz: 919f1d2668df9870a20d186ea63102c6a87fa30e61e47ffdea4e9bc5b40e634fbf13db2fd5c26cde3caf067dd86c7608160d965543713121519665df09bfdae9
|
data/README.md
CHANGED
|
@@ -74,6 +74,7 @@ All methods accept an optional `Date` parameter, which defaults to `Date.today`
|
|
|
74
74
|
- `.independence_day?(date)` July 4 (or observed)
|
|
75
75
|
- `.labor_day?(date)` first Monday of September
|
|
76
76
|
- `.columbus_day?(date)` second Monday of October
|
|
77
|
+
- `.veterans_day?(date)` November 11 (or observed)
|
|
77
78
|
- `.thanksgiving_day?(date)` fourth Thursday of November
|
|
78
79
|
- `.christmas_day?(date)` December 25 (or observed)
|
|
79
80
|
|
data/lib/commercial/us.rb
CHANGED
|
@@ -26,6 +26,7 @@ module Commercial
|
|
|
26
26
|
|| independence_day?(date) \
|
|
27
27
|
|| labor_day?(date) \
|
|
28
28
|
|| columbus_day?(date) \
|
|
29
|
+
|| veterans_day?(date) \
|
|
29
30
|
|| thanksgiving_day?(date) \
|
|
30
31
|
|| christmas_day?(date)
|
|
31
32
|
end
|
|
@@ -130,6 +131,27 @@ module Commercial
|
|
|
130
131
|
date.month == 10 && date.monday? && nth_weekday_of_month?(date, 2)
|
|
131
132
|
end
|
|
132
133
|
|
|
134
|
+
# Veterans Day (November 11, or November 10th if on Saturday, November 12th if on Sunday)
|
|
135
|
+
# @param date [Date] the date to check
|
|
136
|
+
# @return [Boolean] true if the date is Veterans Day or its observance
|
|
137
|
+
def veterans_day?(date)
|
|
138
|
+
return true if date.month == 11 && date.day == 11 && !weekend?(date)
|
|
139
|
+
|
|
140
|
+
# If Nov 11 is on Saturday, observed on Friday (Nov 10)
|
|
141
|
+
if date.month == 11 && date.day == 10 && date.friday?
|
|
142
|
+
nov_11 = Date.new(date.year, 11, 11)
|
|
143
|
+
return nov_11.saturday?
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# If Nov 11 is on Sunday, observed on Monday (Nov 12)
|
|
147
|
+
if date.month == 11 && date.day == 12 && date.monday?
|
|
148
|
+
nov_11 = Date.new(date.year, 11, 11)
|
|
149
|
+
return nov_11.sunday?
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
false
|
|
153
|
+
end
|
|
154
|
+
|
|
133
155
|
# Thanksgiving Day (Fourth Thursday of November)
|
|
134
156
|
# @param date [Date] the date to check
|
|
135
157
|
# @return [Boolean] true if the date is Thanksgiving Day
|
data/lib/commercial/version.rb
CHANGED
data/sig/commercial.rbs
CHANGED