norcal 1.3.0 → 1.4.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/norcal +60 -51
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bfb181fb12eccf2f5a2a573755d884474dc74eebddf4391fd6a88c5adc55ec7d
4
- data.tar.gz: a6fe09085766141d71509c87c8ff79aec265453c1456eac18646112a39fe599e
3
+ metadata.gz: 9be7e8ddb9dd50827b5f06ebb3df0f77198839e50e243fe2a5afe2b9c3013de4
4
+ data.tar.gz: f4c4991791a1cfffe455411d4c08534f4f65a60539cf9ee01dd43f1084ab70e0
5
5
  SHA512:
6
- metadata.gz: de5b45e2e61b174ec3a3e7b1910f0f50eb063ebc3deeecbe74996750a942aa50ed8d4d46e60bea7be0a47a5cdcddbce9e8433ffd596d7e7eeee031a500b48178
7
- data.tar.gz: f832d1ff523264fdf967f3ce98cd00bb8f77ada069d3b5ec6df432bc36b08cebe90c851824c2df22380cd381842c7af9aca63c23945c8750711d921804de965a
6
+ metadata.gz: 39d0619b9c32fad49beeb6f720d7776c11e5238c4d85ac19d0a642aadf749b8196174b8e64be1bc5f37a585edb44a6db3369102e9f54a89be333593cc0694df9
7
+ data.tar.gz: 7f4cc6f41397632c34854ecee9cbbe24eccde9bc0dc6ca3741891ba161c78af61968fcf286b3a1b9e9f32806bb0891b1f681e91085923fb499675d020fae6dcf
data/README.md CHANGED
@@ -31,7 +31,7 @@ gem install norcal
31
31
  git clone https://github.com/baosen/norcal.git
32
32
  cd norcal
33
33
  gem build norcal.gemspec
34
- gem install norcal-1.3.0.gem
34
+ gem install norcal-1.4.0.gem
35
35
  ```
36
36
 
37
37
  ## Usage
data/bin/norcal CHANGED
@@ -68,7 +68,7 @@ def red_days(year)
68
68
  e + 1 => "2. påskedag",
69
69
  Date.new(year, 5, 1) => "Arbeidernes dag",
70
70
  e + 39 => "Kristi himmelfartsdag",
71
- Date.new(year, 5, 17) => "Grunnlovsdag",
71
+ Date.new(year, 5, 17) => "Grunnlovsdagen",
72
72
  e + 49 => "1. pinsedag",
73
73
  e + 50 => "2. pinsedag",
74
74
  Date.new(year, 12, 25) => "1. juledag",
@@ -77,66 +77,75 @@ def red_days(year)
77
77
  end
78
78
 
79
79
  # Notable dates: [date, description, show_date_in_red?]
80
+ # Red days are auto-included from red_days(); some get extra context in the
81
+ # notable_names override below.
80
82
  def notable_dates(year)
81
83
  e = easter(year)
84
+ holidays = red_days(year)
85
+
82
86
  morsdag = nth_wday(year, 2, 7, 2)
83
87
  farsdag = nth_wday(year, 11, 7, 2)
84
88
  sommer_start = last_wday(year, 3, 7)
85
89
  sommer_slutt = last_wday(year, 10, 7)
86
90
  fastelavn = e - 49
91
+ botsdag = last_wday(year, 10, 7)
87
92
  nov27 = Date.new(year, 11, 27)
88
93
  advent1 = nov27 + ((7 - nov27.cwday) % 7)
89
94
 
90
- botsdag = last_wday(year, 10, 7) # last Sunday in October
91
-
92
- [
93
- [Date.new(year, 1, 1), "Første nyttårsdag", true],
94
- [Date.new(year, 1, 21), "Prinsesse Ingrid Alexandra, #{year - 2004} år", false],
95
- [Date.new(year, 2, 6), "Samefolkets dag", false],
96
- [morsdag, "Morsdag", false],
97
- [Date.new(year, 2, 14), "Valentinsdag", false],
98
- [fastelavn, "Fastelavn", false],
99
- [Date.new(year, 2, 21), "Kong Harald, #{year - 1937} år", false],
100
- [Date.new(year, 3, 8), "Kvinnedagen", false],
101
- [Date.new(year, 3, 20), "Vårjevndøgn", false],
102
- [sommer_start, "Sommertid start", false],
103
- [e - 7, "Palmesøndag", true],
104
- [e - 3, "Skjærtorsdag", true],
105
- [e - 2, "Langfredag", true],
106
- [e - 1, "Påskeaften", false],
107
- [e, "1. påskedag", true],
108
- [e + 1, "2. påskedag", true],
109
- [Date.new(year, 5, 1), "Arbeidernes dag", true],
110
- [Date.new(year, 5, 8), "Frigjøringsdag 1945", false],
111
- [e + 39, "Kristi himmelfartsdag", true],
112
- [Date.new(year, 5, 17), "Grunnlovsdag 1814", true],
113
- [e + 48, "Pinseaften", false],
114
- [e + 49, "1. pinsedag", true],
115
- [e + 50, "2. pinsedag", true],
116
- [Date.new(year, 6, 7), "Unionsoppløsning 1905", false],
117
- [Date.new(year, 6, 21), "Sommersolverv", false],
118
- [Date.new(year, 6, 23), "Sankthansaften", false],
119
- [Date.new(year, 7, 4), "Dronning Sonja, #{year - 1937} år", false],
120
- [Date.new(year, 7, 20), "Kronprins Haakon, #{year - 1973} år", false],
121
- [Date.new(year, 7, 29), "Olsokdagen", false],
122
- [Date.new(year, 8, 19), "Kronprinsesse Mette-Marit, #{year - 1973} år", false],
123
- [Date.new(year, 9, 23), "Høstjevndøgn", false],
124
- [botsdag, "Bots- og bededag", false],
125
- [sommer_slutt, "Sommertid slutt", false],
126
- [Date.new(year, 10, 31), "Halloween", false],
127
- [Date.new(year, 11, 1), "Allehelgensdag", false],
128
- [farsdag, "Farsdag", false],
129
- [advent1, "1. søndag i advent", false],
130
- [advent1 + 7, "2. søndag i advent", false],
131
- [Date.new(year, 12, 13), "Luciadagen", false],
132
- [advent1 + 14, "3. søndag i advent", false],
133
- [advent1 + 21, "4. søndag i advent", false],
134
- [Date.new(year, 12, 21), "Vintersolverv", false],
135
- [Date.new(year, 12, 24), "Julaften", false],
136
- [Date.new(year, 12, 25), "1. juledag", true],
137
- [Date.new(year, 12, 26), "2. juledag", true],
138
- [Date.new(year, 12, 31), "Nyttårsaften", false],
139
- ].sort_by { |d, _, _| d }
95
+ # Override display names for some red days in the notable list
96
+ notable_names = {
97
+ e + 39 => "Kristi himmelfartsdag",
98
+ Date.new(year, 5, 17) => "Grunnlovsdagen 1814",
99
+ }
100
+
101
+ # Start with all red days
102
+ entries = holidays.map { |date, name|
103
+ [date, notable_names[date] || name, true]
104
+ }
105
+
106
+ # Red-in-list but not a public holiday
107
+ entries += [
108
+ [e - 7, "Palmesøndag", true],
109
+ ]
110
+
111
+ # Non-red notable dates
112
+ entries += [
113
+ [Date.new(year, 1, 21), "Prinsesse Ingrid Alexandra, #{year - 2004} år"],
114
+ [Date.new(year, 2, 6), "Samefolkets dag"],
115
+ [morsdag, "Morsdag"],
116
+ [Date.new(year, 2, 14), "Valentinsdag"],
117
+ [fastelavn, "Fastelavn"],
118
+ [Date.new(year, 2, 21), "Kong Harald, #{year - 1937} år"],
119
+ [Date.new(year, 3, 8), "Kvinnedagen"],
120
+ [Date.new(year, 3, 20), "Vårjevndøgn"],
121
+ [sommer_start, "Sommertid start"],
122
+ [e - 1, "Påskeaften"],
123
+ [Date.new(year, 5, 8), "Frigjøringsdagen 1945"],
124
+ [e + 48, "Pinseaften"],
125
+ [Date.new(year, 6, 7), "Unionsoppløsning 1905"],
126
+ [Date.new(year, 6, 21), "Sommersolverv"],
127
+ [Date.new(year, 6, 23), "Sankthansaften"],
128
+ [Date.new(year, 7, 4), "Dronning Sonja, #{year - 1937} år"],
129
+ [Date.new(year, 7, 20), "Kronprins Haakon, #{year - 1973} år"],
130
+ [Date.new(year, 7, 29), "Olsokdagen"],
131
+ [Date.new(year, 8, 19), "Kronprinsesse Mette-Marit, #{year - 1973} år"],
132
+ [Date.new(year, 9, 23), "Høstjevndøgn"],
133
+ [botsdag, "Bots- og bededag"],
134
+ [sommer_slutt, "Sommertid slutt"],
135
+ [Date.new(year, 10, 31), "Halloween"],
136
+ [Date.new(year, 11, 1), "Allehelgensdag"],
137
+ [farsdag, "Farsdag"],
138
+ [advent1, "1. søndag i advent"],
139
+ [advent1 + 7, "2. søndag i advent"],
140
+ [Date.new(year, 12, 13), "Luciadagen"],
141
+ [advent1 + 14, "3. søndag i advent"],
142
+ [advent1 + 21, "4. søndag i advent"],
143
+ [Date.new(year, 12, 21), "Vintersolverv"],
144
+ [Date.new(year, 12, 24), "Julaften"],
145
+ [Date.new(year, 12, 31), "Nyttårsaften"],
146
+ ].map { |date, name| [date, name, false] }
147
+
148
+ entries.sort_by { |d, _, _| d }
140
149
  end
141
150
 
142
151
  # -- GUI -----------------------------------------------------------------------
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: norcal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - baosen