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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1625934e30d3bbff95fac940c7a12766c5c43a665ef88280f5d0eab1998cadea
4
- data.tar.gz: 98e5ee5230a3b0ad15feb98ab38b4c3d4c2a4dffd9c273acdc07482610032340
3
+ metadata.gz: a1e3a5f7837c3d455ab1195a93d331432e5e90e93da8a4fed14daf7040dda8d8
4
+ data.tar.gz: f9845763f491ab561c96bd304ad597971f8f1f9918aba1befba24695e347b527
5
5
  SHA512:
6
- metadata.gz: 4975c5b58483ada85a2a7e07b0ce3462a8360b34ff39022c9c2c96071da89acbed29e1be028d33976492cd5a179615a3ce3b8c870b631f7677f4e0feae3e1424
7
- data.tar.gz: 93105d5fee8884185aa7f2438ff43c956a4f46613fda199409f2864572228feeb6ce80733983bab6946f84910690de5d9ad802b339d17ab62097f9e1dcc37fd0
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commercial
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
data/sig/commercial.rbs CHANGED
@@ -24,6 +24,8 @@ module Commercial
24
24
 
25
25
  def self.columbus_day?: (Date date) -> bool
26
26
 
27
+ def self.veterans_day?: (Date date) -> bool
28
+
27
29
  def self.thanksgiving_day?: (Date date) -> bool
28
30
 
29
31
  def self.christmas_day?: (Date date) -> bool
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commercial
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
  - William T. Nelson