calendarium-romanum 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rubocop.yml +9 -6
- data/.travis.yml +2 -1
- data/Appraisals +67 -0
- data/CHANGELOG.md +57 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +21 -12
- data/README.md +13 -10
- data/Rakefile +13 -2
- data/calendarium-romanum.gemspec +2 -2
- data/config/locales/pt.yml +94 -0
- data/data/czech-cs.txt +5 -2
- data/data/universal-1969-la.txt +1 -1
- data/data/universal-en.txt +5 -2
- data/data/universal-es.txt +7 -4
- data/data/universal-fr.txt +5 -2
- data/data/universal-it.txt +6 -3
- data/data/universal-la.txt +102 -99
- data/data/universal-pt.txt +248 -0
- data/lib/calendarium-romanum.rb +3 -0
- data/lib/calendarium-romanum/calendar.rb +13 -11
- data/lib/calendarium-romanum/cli.rb +32 -3
- data/lib/calendarium-romanum/cli/comparator.rb +22 -2
- data/lib/calendarium-romanum/data.rb +2 -0
- data/lib/calendarium-romanum/enum.rb +2 -4
- data/lib/calendarium-romanum/enums.rb +5 -1
- data/lib/calendarium-romanum/sanctorale.rb +51 -1
- data/lib/calendarium-romanum/sanctorale_factory.rb +2 -2
- data/lib/calendarium-romanum/sanctorale_writer.rb +6 -1
- data/lib/calendarium-romanum/temporale.rb +50 -21
- data/lib/calendarium-romanum/temporale/date_helper.rb +85 -0
- data/lib/calendarium-romanum/temporale/dates.rb +36 -111
- data/lib/calendarium-romanum/temporale/extensions/dedication_before_all_saints.rb +1 -1
- data/lib/calendarium-romanum/transfers.rb +29 -14
- data/lib/calendarium-romanum/version.rb +2 -2
- data/liturgical_law/2020_dubia_de_calendario_2022.md +100 -0
- metadata +15 -10
@@ -0,0 +1,248 @@
|
|
1
|
+
---
|
2
|
+
title: Calendário Romano Geral
|
3
|
+
locale: pt
|
4
|
+
# source: https://pt.wikipedia.org/wiki/Calendário_Romano_Geral,
|
5
|
+
# Roman Missal (Portuguese edition),
|
6
|
+
# and https://www.liturgia.pt/
|
7
|
+
---
|
8
|
+
|
9
|
+
= 1
|
10
|
+
2 m basil_gregory : Ss. Basílio Magno e Gregório de Nazianzo, bispos e doutores da Igreja
|
11
|
+
3 name_jesus : Santíssimo Nome de Jesus
|
12
|
+
7 raymond : S. Raimundo de Peñafort. presbítero
|
13
|
+
13 hilary : S. Hilário, bispo e doutor da Igreja
|
14
|
+
17 m anthony_of_egypt : S. Antão, abade
|
15
|
+
20 R fabian : S. Fabião, papa e mártir
|
16
|
+
20 R sebastian : S. Sebastião, mártir
|
17
|
+
21 m R agnes : S. Inês, virgem e mártir
|
18
|
+
22 R vincent_deacon : S. Vicente, diácono e mártir
|
19
|
+
24 m francis_de_sales : S. Francisco de Sales, bispo e doutor da Igreja
|
20
|
+
25 f paul_conversion : Conversão de S. Paulo, apóstolo
|
21
|
+
26 m timothy_titus : Ss. Timóteo e Tito, bispos
|
22
|
+
27 merici : S. Angela Merici, virgem
|
23
|
+
28 m aquinas : S. Tomás de Aquino, presbítero e doutor da Igreja
|
24
|
+
31 m bosco : S. João Bosco, presbítero
|
25
|
+
|
26
|
+
= 2
|
27
|
+
2 f2.5 presentation_of_lord : Apresentação do Senhor
|
28
|
+
3 R blase : S. Brás, bispo e mártir
|
29
|
+
3 ansgar : S. Ansgário, bispo
|
30
|
+
5 m R agatha : S. Águeda (ou Ágata), virgem e mártir
|
31
|
+
6 m R paul_miki : Ss. Paulo Miki e companheiros, mártires
|
32
|
+
8 jerome_emiliani : S. Jerónimo Emiliano, presbítero
|
33
|
+
8 josephine_bakhita : S. Josefina Bakhita, virgem
|
34
|
+
10 m scholastica : S. Escolástica, virgem
|
35
|
+
11 bvm_lourdes : Nossa Senhora de Lourdes
|
36
|
+
14 m cyril_methodius : Ss. Cirilo, monge, e Metódio, bispo
|
37
|
+
17 servite_founders : Ss. Sete Fundadores da Ordem dos Servitas
|
38
|
+
21 peter_damian : S. Pedro Damião, bispo e doutor da Igreja
|
39
|
+
22 f chair_of_peter : Cátedra de S. Pedro, apóstolo
|
40
|
+
23 m R polycarp : S. Policarpo, bispo e mártir
|
41
|
+
27 gregory_of_narek : S. Gregório de Narek, abade e doutor da Igreja
|
42
|
+
|
43
|
+
= 3
|
44
|
+
4 casimir : S. Casimiro
|
45
|
+
7 m R perpetua_felicity : Santas Perpétua e Felicidade, mártires
|
46
|
+
8 john_of_god : S. João de Deus, religiosos
|
47
|
+
9 frances_of_rome : S. Francisca Romana, religiosa
|
48
|
+
17 patrick : S. Patrício, bispo
|
49
|
+
18 cyril_of_jerusalem : S. Cirilo de Jerusalém, bispo e doutor da Igreja
|
50
|
+
19 s joseph : S. José, esposo da Virgem S. Maria
|
51
|
+
23 turibius : S. Turíbio de Mongrovejo, bispo
|
52
|
+
25 s annunciation : Anunciação do Senhor
|
53
|
+
|
54
|
+
= 4
|
55
|
+
2 francis_of_paola : S. Francisco de Paula, eremita
|
56
|
+
4 isidore : S. Isidoro, bispo e doutor da Igreja
|
57
|
+
5 vincent_ferrer : S. Vicente Ferrer, presbítero
|
58
|
+
7 m de_la_salle : S. João Batista de La Salle, presbítero
|
59
|
+
11 m R stanislaus : S. Estanislau, bispo e mártir
|
60
|
+
13 R martin_i : S. Martinho I, papa e mártir
|
61
|
+
21 anselm : S. Anselmo, bispo e doutor da Igreja
|
62
|
+
23 R george : S. Jorge, mártir
|
63
|
+
23 R adalbert : S. Adalberto de Praga, bispo e mártir
|
64
|
+
24 R fidelis : S. Fiel de Sigmaringa, presbítero e mártir
|
65
|
+
25 f R mark : S. Marcos, evangelista
|
66
|
+
28 R peter_chanel : S. Pedro Chanel, presbítero e mártir
|
67
|
+
28 de_montfort : S. Luís Maria Grignion de Montfort, presbítero
|
68
|
+
29 m catherine_of_siena : S. Catarina de Siena, virgem e doutora da Igreja
|
69
|
+
30 pius_v : S. Pio V, papa
|
70
|
+
|
71
|
+
= 5
|
72
|
+
1 joseph_worker : S. José operário
|
73
|
+
2 m athanasius : S. Atanásio, bispo e doutor da Igreja
|
74
|
+
3 f R philip_james : Ss. Filipe e Tiago, apóstolos
|
75
|
+
10 john_de_avila : S. João de Ávila, presbítero e doutor da Igreja
|
76
|
+
12 R nereus_achilleus : Ss. Nereu e Aquileu, mártires
|
77
|
+
12 R pancras : S. Pancrácio, mártir
|
78
|
+
13 bvm_fatima : Nossa Senhora de Fátima
|
79
|
+
14 f R matthias : S. Matias, apóstolo
|
80
|
+
18 R john_i : S. João I, papa e mártir
|
81
|
+
20 bernardine : S. Bernardino de Sena, presbítero
|
82
|
+
21 R magallanes : Ss. Cristóvão de Magalhães e companheiros, mártires
|
83
|
+
22 rita : S. Rita de Cássia, religiosa
|
84
|
+
25 bede_venerable : S. Beda Venerável, presbítero e doutor da Igreja
|
85
|
+
25 gregory_vii : S. Gregório VII, papa
|
86
|
+
25 de_pazzi : S. Maria Madalena de Pazzi, virgem
|
87
|
+
26 m neri : S. Filipe Néri, presbítero
|
88
|
+
27 augustine_of_canterbury : S. Agostinho de Cantuária, bispo
|
89
|
+
29 paul_vi : Sãp Paulo VI, papa
|
90
|
+
31 f visitation : Visitação da Virgem S. Maria
|
91
|
+
|
92
|
+
= 6
|
93
|
+
1 m R justin : S. Justino, mártir
|
94
|
+
2 R marcellinus_peter : Ss. Marcelino e Pedro, mártires
|
95
|
+
3 m R ugandan_martyrs : Ss. Carlos Lwanga e companheiros, mártires
|
96
|
+
5 m R boniface : S. Bonifácio, bispo e mártir
|
97
|
+
6 norbert : S. Norberto, bispo
|
98
|
+
9 ephrem : S. Efrém, diácono e doutor da Igreja
|
99
|
+
11 m R barnabas : S. Barnabé, apóstolo
|
100
|
+
13 m anthony_of_padua : S. António de Lisboa, presbítero e doutor da Igreja
|
101
|
+
19 romuald : S. Romualdo, abade
|
102
|
+
21 m aloysius : S. Luís de Gonzaga, religioso
|
103
|
+
22 paulinus : S. Paulino de Nola, bispo
|
104
|
+
22 R fisher_more : Ss. João Fisher, bispo e mártir, e Tomás Moro, mártir
|
105
|
+
24 s baptist_birth : Nascimento de João Batista
|
106
|
+
27 cyril_of_alexandria : S. Cirilo de Alexandria, bispo e doutor da Igreja
|
107
|
+
28 m R irenaeus : S. Ireneu, bispo e mártir
|
108
|
+
29 s R peter_paul : Ss. Pedro e Paulo, apóstolos
|
109
|
+
30 R first_martyrs_of_rome : Primeiros Ss. Mártires da Igreja de Roma
|
110
|
+
|
111
|
+
= 7
|
112
|
+
3 f R thomas_apostle : S. Tomé, apóstolo
|
113
|
+
4 elizabeth_of_portugal : S. Isabel de Portugal
|
114
|
+
5 anthony_zaccaria : S. António Maria Zacarias, presbítero
|
115
|
+
6 R goretti : S. Maria Goretti, virgem e mártir
|
116
|
+
9 R chinese_martyrs : Ss. Agostinho Zhao Rong e companheiros, mártires
|
117
|
+
11 m benedict : S. Bento, abade
|
118
|
+
13 henry : S. Henrique
|
119
|
+
14 camillus_de_lellis : S. Camilo de Lelis, presbítero
|
120
|
+
15 m bonaventure : S. Boaventura, bispo e doutor da Igreja
|
121
|
+
16 bvm_mount_carmel : Virgem S. Maria do Monte Carmelo
|
122
|
+
20 R apollinaris : S. Apolinário, bispo e mártir
|
123
|
+
21 lawrence_of_brindisi : S. Lourenço de Brindes, presbítero e doutor da Igreja
|
124
|
+
22 f mary_magdalene : S. Maria Madalena
|
125
|
+
23 birgitta : S. Brígida, religiosa
|
126
|
+
24 sharbel : S. Sarbélio Makhluf, presbítero
|
127
|
+
25 f R james : S. Tiago, Apóstolo
|
128
|
+
26 m joachim_anne : S. Joaquim e S. Ana, pais da Virgem S. Maria
|
129
|
+
29 m martha_mary_lazarus : SS. Marta, Maria e Lázaro
|
130
|
+
30 peter_chrysologus : S. Pedro Crisólogo, bispo e doutor da Igreja
|
131
|
+
31 m ignatius_of_loyola : S. Inácio de Loiola, presbítero
|
132
|
+
|
133
|
+
= 8
|
134
|
+
1 m alphonsus : S. Afonso Maria de Ligório, bispo e doutor da Igreja
|
135
|
+
2 eusebius : S. Eusébio de Vercelas, bispo
|
136
|
+
2 eymard : S. Pedro Juliano Eymard, presbítero
|
137
|
+
4 m vianney : S. João Maria Vianney, presbítero
|
138
|
+
5 mary_major : Dedicação da Basílica de Santa Maria Maior
|
139
|
+
6 f2.5 transfiguration : Transfiguração do Senhor
|
140
|
+
7 R sixtus_ii : SS. Sisto II, papa, e Companheiros, mártires
|
141
|
+
7 cajetan : S. Caetano, presbítero
|
142
|
+
8 m dominic : S. Domingos, presbítero, Fundador da Ordem dos Pregadores
|
143
|
+
9 R stein : S. Teresa Benedita da Cruz, virgem e mártir
|
144
|
+
10 f R lawrence : S. Lourenço, diácono e mártir
|
145
|
+
11 m clare : S. Clara, virgem
|
146
|
+
12 de_chantal : S. Joana Francisca de Chantal, religiosa
|
147
|
+
13 R pontian_hippolytus : S. Ponciano, papa, e S. Hipólito, presbítero, mártires
|
148
|
+
14 m R kolbe : S. Maximiliano Maria Kolbe, presbítero e mártir
|
149
|
+
15 s assumption : ASSUNÇÃO DA VIRGEM SANTA MARIA
|
150
|
+
16 stephen_hungary : S. Estêvão da Hungria
|
151
|
+
19 eudes : S. João Eudes, presbítero
|
152
|
+
20 m bernard : S. Bernardo, abade e doutor da Igreja
|
153
|
+
21 m pius_x : S. Pi0 X, papa
|
154
|
+
22 m bvm_queenship : Virgem Santa Maria, Rainha
|
155
|
+
23 rose_lima : S. Rosa de Lima, virgem
|
156
|
+
24 f R bartholomew : S. Bartolomeu, Apóstolo
|
157
|
+
25 louis : S. Luís de França
|
158
|
+
25 joseph_calasanz : S. José de Calasanz, presbítero
|
159
|
+
27 m monica : S. Mónica
|
160
|
+
28 m augustine : S. Agostinho, bispo e doutor da Igreja
|
161
|
+
29 m R baptist_beheading : Martírio de S. João Baptista
|
162
|
+
|
163
|
+
= 9
|
164
|
+
3 m gregory_great : S. Gregório Magno, papa e doutor da Igreja
|
165
|
+
8 f bvm_birth : Natividade da Virgem Santa Maria
|
166
|
+
9 claver : S. Pedro Claver, presbítero
|
167
|
+
12 bvm_name : Santíssimo Nome de Maria
|
168
|
+
13 m john_chrysostom : S. João Crisóstomo, bispo e doutor da Igreja
|
169
|
+
14 f2.5 R cross : Exaltação da Santa Cruz
|
170
|
+
15 m bvm_sorrows : Virgem Santa Maria das Dores
|
171
|
+
16 m R cornelius_cyprian : S. Cornélio, papa, e S. Cipriano, bispo, mártires
|
172
|
+
17 bellarmine : S. Roberto Belarmino, bispo e doutor da Igreja
|
173
|
+
17 hildegard : S. Hildegarda de Bingen, virgem e doutora da Igreja
|
174
|
+
19 R januarius : S. Januário, bispo e mártir
|
175
|
+
20 m R korean_martyrs : SS. André Kim Taegon, presbítero, Paulo Chang Hasang, e Companheiros, mártires
|
176
|
+
21 f R matthew : S. Mateus, Apóstolo e Evangelista
|
177
|
+
23 m padre_pio : S. Pio de Pietrelcina, presbítero
|
178
|
+
26 R cosmas_damian : S. Cosme e S. Damião, mártires
|
179
|
+
27 m vincent_de_paul : S. Vicente de Paulo, presbítero
|
180
|
+
28 R wenceslaus : S. Venceslau, mártir
|
181
|
+
28 R ruiz : SS. Lourenço Ruiz e Companheiros, mártires
|
182
|
+
29 f archangels : S. Miguel, S. Gabriel e S. Rafael, Arcanjos
|
183
|
+
30 m jerome : S. Jerónimo, presbítero e doutor da Igreja
|
184
|
+
|
185
|
+
= 10
|
186
|
+
1 m therese_lisieux : S. Teresa do Menino Jesus, virgem e doutora da Igreja
|
187
|
+
2 m guardian_angels : Santos Anjos da Guarda
|
188
|
+
4 m francis_assisi : S. Francisco de Assis
|
189
|
+
5 faustina_kowalska : Santa Faustina Kowalska
|
190
|
+
6 bruno : S. Bruno, presbítero
|
191
|
+
7 m bvm_rosary : Virgem Santa Maria do Rosário
|
192
|
+
9 R denis : SS. Dionísio, bispo, e Companheiros, mártires
|
193
|
+
9 leonardi : S. João Leonardo, presbítero
|
194
|
+
11 john_xxiii : S. João XXIII, papa
|
195
|
+
14 R callistus_i : S. Calisto I, papa e mártir
|
196
|
+
15 m teresa_avila : S. Teresa de Jesus, virgem e doutora da Igreja
|
197
|
+
16 hedwig : S. Hedwiges, religiosa
|
198
|
+
16 alacoque : S. Margarida Maria Alacoque, virgem
|
199
|
+
17 m R ignatius_of_antioch : S. Inácio de Antioquia, bispo e mártir
|
200
|
+
18 f R luke : S. Lucas, Evangelista
|
201
|
+
19 R brebeuf_jogues : SS. João de Brébeuf e Isaac Jogues, presbíteros, e Companheiros, mártires
|
202
|
+
19 paul_of_cross : S. Paulo da Cruz, presbítero
|
203
|
+
22 john_paul_ii : S. João Paulo II, papa
|
204
|
+
23 john_capistrano : S. João de Capistrano, presbítero
|
205
|
+
24 claret : S. António Maria Claret, bispo
|
206
|
+
28 f R simon_jude : S. Simão e S. Judas, Apóstolos
|
207
|
+
|
208
|
+
= 11
|
209
|
+
1 s all_saints : TODOS OS SANTOS
|
210
|
+
2 s V all_souls : Comemoração de Todos os Fiéis Defuntos
|
211
|
+
3 de_porres : S. Martinho de Porres, religioso
|
212
|
+
4 m borromeo : S. Carlos Borromeu, bispo
|
213
|
+
9 f2.5 lateran_basilica : Dedicação da Basílica de Latrão
|
214
|
+
10 m leo_great : S. Leão Magno, papa e doutor da Igreja
|
215
|
+
11 m martin : S. Martinho de Tours, bispo
|
216
|
+
12 m R josaphat : S. Josafat, bispo e mártir
|
217
|
+
15 albert : S. Alberto Magno, bispo e doutor da Igreja
|
218
|
+
16 margaret_of_scotland : S. Margarida da Escócia
|
219
|
+
16 gertrude : S. Gertrudes, virgem
|
220
|
+
17 m elizabeth_of_hungary : S. Isabel da Hungria, religiosa
|
221
|
+
18 peter_paul_basilicas : Dedicação das Basílicas de S. Pedro e de S. Paulo, Apóstolos
|
222
|
+
21 m bvm_presentation : Apresentação de Nossa Senhora
|
223
|
+
22 m R cecilia : S. Cecília, virgem e mártir
|
224
|
+
23 R clement_i : S. Clemente I, papa e mártir
|
225
|
+
23 columban : S. Columbano, abade
|
226
|
+
24 m R vietnamese_martyrs : SS. André Dung-Lac, presbítero, e Companheiros, mártires
|
227
|
+
25 R catherine_of_alexandria : S. Catarina Alexandrina, virgem e mártir
|
228
|
+
30 f R andrew : S. André, Apóstolo
|
229
|
+
|
230
|
+
= 12
|
231
|
+
3 m francis_xavier : S. Francisco Xavier, presbítero, Padroeiro das Missões
|
232
|
+
4 john_damascene : S. João Damasceno, presbítero e doutor da Igreja
|
233
|
+
6 nicholas : S. Nicolau, bispo
|
234
|
+
7 m ambrose : S. Ambrósio, bispo e doutor da Igreja
|
235
|
+
8 s bvm_immaculate : IMACULADA CONCEIÇÃO DA VIRGEM SANTA MARIA
|
236
|
+
9 juan_diego : S. João Diogo
|
237
|
+
10 bvm_loreto : Virgem Santa Maria de Loreto
|
238
|
+
11 damasus_i : S. Dâmaso I, papa
|
239
|
+
12 bvm_guadalupe : Nossa Senhora de Guadalupe
|
240
|
+
13 m R lucy : S. Luzia, virgem e mártir
|
241
|
+
14 m john_of_cross : S. João da Cruz, presbítero e doutor da Igreja
|
242
|
+
21 canisius : S. Pedro Canísio, presbítero e doutor da Igreja
|
243
|
+
23 john_of_kanty : S. João de Quenty (Câncio), presbítero
|
244
|
+
26 f R stephen : S. Estêvão, Primeiro Mártir
|
245
|
+
27 f john_evangelist : S. João, Apóstolo e Evangelista
|
246
|
+
28 f R innocents : Santos Inocentes, mártires
|
247
|
+
29 R becket : S. Tomás Becket (de Cantuária), bispo e mártir
|
248
|
+
31 sylvester_i : S. Silvestre I, papa
|
data/lib/calendarium-romanum.rb
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
module CalendariumRomanum
|
5
5
|
end
|
6
6
|
|
7
|
+
require 'date'
|
8
|
+
|
7
9
|
%w(
|
8
10
|
version
|
9
11
|
i18n_setup
|
@@ -17,6 +19,7 @@ end
|
|
17
19
|
day
|
18
20
|
calendar
|
19
21
|
perpetual_calendar
|
22
|
+
temporale/date_helper
|
20
23
|
temporale/dates
|
21
24
|
temporale/celebration_factory
|
22
25
|
temporale/easter_table
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'date'
|
2
1
|
require 'forwardable'
|
3
2
|
|
4
3
|
module CalendariumRomanum
|
@@ -17,7 +16,7 @@ module CalendariumRomanum
|
|
17
16
|
# Returns a calendar for the liturgical year beginning with
|
18
17
|
# Advent of the specified civil year.
|
19
18
|
#
|
20
|
-
# @overload initialize(year, sanctorale = nil, temporale = nil, vespers: false)
|
19
|
+
# @overload initialize(year, sanctorale = nil, temporale = nil, vespers: false, transfers: nil)
|
21
20
|
# @param year [Integer]
|
22
21
|
# Civil year when the liturgical year begins.
|
23
22
|
# @param sanctorale [Sanctorale, nil]
|
@@ -27,19 +26,22 @@ module CalendariumRomanum
|
|
27
26
|
# If not provided, +Temporale+ for the given year with default
|
28
27
|
# configuration will built.
|
29
28
|
# @param vespers [Boolean] Set to true if you want the +Calendar+ to populate {Day#vespers}
|
29
|
+
# @param transfers [#call, nil]
|
30
|
+
# Object with the same public interface as the +Transfers+ class (really class,
|
31
|
+
# not instance!), responsible for handling transfers of conflicting solemnities.
|
32
|
+
# Only useful for overriding the default solemnity transfer logic with a custom one.
|
30
33
|
#
|
31
|
-
# @overload initialize(temporale, sanctorale=nil, vespers: false)
|
34
|
+
# @overload initialize(temporale, sanctorale=nil, vespers: false, transfers: nil)
|
32
35
|
# @param temporale [Temporale]
|
33
36
|
# @param sanctorale [Sanctorale, nil]
|
34
|
-
#
|
35
|
-
#
|
36
|
-
# @param vespers [Boolean] Set to true if you want the +Calendar+ to populate {Day#vespers}
|
37
|
+
# @param vespers [Boolean]
|
38
|
+
# @param transfers [#call, nil]
|
37
39
|
# @since 0.8.0
|
38
40
|
#
|
39
41
|
# @raise [RangeError]
|
40
42
|
# if +year+ is specified for which the implemented calendar
|
41
43
|
# system wasn't in force
|
42
|
-
def initialize(year, sanctorale = nil, temporale = nil, vespers: false)
|
44
|
+
def initialize(year, sanctorale = nil, temporale = nil, vespers: false, transfers: nil)
|
43
45
|
unless year.is_a? Integer
|
44
46
|
temporale = year
|
45
47
|
year = temporale.year
|
@@ -58,7 +60,7 @@ module CalendariumRomanum
|
|
58
60
|
@temporale = temporale || Temporale.new(year)
|
59
61
|
@populate_vespers = vespers
|
60
62
|
|
61
|
-
@transferred = Transfers.call(@temporale, @sanctorale).freeze
|
63
|
+
@transferred = (transfers || Transfers).call(@temporale, @sanctorale).freeze
|
62
64
|
end
|
63
65
|
|
64
66
|
class << self
|
@@ -262,13 +264,13 @@ module CalendariumRomanum
|
|
262
264
|
@temporale.season(date) == Seasons::ORDINARY &&
|
263
265
|
(st.empty? || st.first.rank == Ranks::MEMORIAL_OPTIONAL) &&
|
264
266
|
t.rank <= Ranks::MEMORIAL_OPTIONAL
|
265
|
-
st
|
267
|
+
st += [Temporale::CelebrationFactory.saturday_memorial_bvm]
|
266
268
|
end
|
267
269
|
|
268
270
|
unless st.empty?
|
269
271
|
if st.first.rank > t.rank
|
270
272
|
if st.first.rank == Ranks::MEMORIAL_OPTIONAL
|
271
|
-
return st
|
273
|
+
return [t] + st
|
272
274
|
else
|
273
275
|
return st
|
274
276
|
end
|
@@ -276,7 +278,7 @@ module CalendariumRomanum
|
|
276
278
|
commemorations = st.collect do |c|
|
277
279
|
c.change(rank: Ranks::COMMEMORATION, colour: t.colour)
|
278
280
|
end
|
279
|
-
return commemorations
|
281
|
+
return [t] + commemorations
|
280
282
|
elsif t.symbol == :immaculate_heart &&
|
281
283
|
[Ranks::MEMORIAL_GENERAL, Ranks::MEMORIAL_PROPER].include?(st.first.rank)
|
282
284
|
optional_memorials = ([t] + st).collect do |celebration|
|
@@ -42,7 +42,7 @@ EOS
|
|
42
42
|
Data.each {|c| puts c.siglum }
|
43
43
|
end
|
44
44
|
|
45
|
-
desc 'errors FILE1
|
45
|
+
desc 'errors FILE1 ...', 'find errors in sanctorale data files'
|
46
46
|
def errors(*files)
|
47
47
|
files.each do |path|
|
48
48
|
begin
|
@@ -53,9 +53,38 @@ EOS
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
-
desc 'cmp FILE1
|
56
|
+
desc 'cmp FILE1 FILE2', 'detect differences between two sanctorale data files'
|
57
|
+
option :no_rank, type: :boolean, desc: 'ignore differences of rank'
|
58
|
+
option :no_colour, type: :boolean, desc: 'ignore differences of colour'
|
59
|
+
option :no_symbol, type: :boolean, desc: 'ignore differences of symbol'
|
60
|
+
option :title, type: :boolean, desc: 'report differences of title'
|
57
61
|
def cmp(a, b)
|
58
|
-
Comparator
|
62
|
+
properties = Comparator::DEFAULT_PROPERTIES
|
63
|
+
options.each_key do |k|
|
64
|
+
if k.start_with? 'no_'
|
65
|
+
properties.delete k.sub('no_', '').to_sym
|
66
|
+
else
|
67
|
+
properties << k.to_sym
|
68
|
+
end
|
69
|
+
end
|
70
|
+
Comparator.new(properties).call(a, b) || exit(1)
|
71
|
+
end
|
72
|
+
|
73
|
+
desc 'merge FILE1 ...', 'loads sanctorale data files on top of each other, prints the resulting sanctorale'
|
74
|
+
option :front_matter, type: :boolean, desc: 'output YAML front matter'
|
75
|
+
def merge(*files)
|
76
|
+
sanctoralia = files.collect {|path| sanctorale_from_path path }
|
77
|
+
merged = SanctoraleFactory.create_layered *sanctoralia
|
78
|
+
SanctoraleWriter.new(front_matter: options[:front_matter]).write merged, STDOUT
|
79
|
+
end
|
80
|
+
|
81
|
+
desc 'id FILE', 'print celebration identifiers found in a sanctorale data file'
|
82
|
+
def id(file)
|
83
|
+
sanctorale_from_path(file).each_day do |_, celebrations|
|
84
|
+
celebrations.each do |c|
|
85
|
+
puts c.symbol if c.symbol
|
86
|
+
end
|
87
|
+
end
|
59
88
|
end
|
60
89
|
|
61
90
|
desc 'dump YEAR', 'print calendar of the specified year for use in regression tests'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
1
3
|
module CalendariumRomanum
|
2
4
|
class CLI
|
3
5
|
# Compares two sanctorale data files, reports differences.
|
@@ -6,11 +8,23 @@ module CalendariumRomanum
|
|
6
8
|
class Comparator
|
7
9
|
include Helper
|
8
10
|
|
11
|
+
SUPPORTED_PROPERTIES = %i(rank colour symbol title)
|
12
|
+
DEFAULT_PROPERTIES = SUPPORTED_PROPERTIES - %i(title)
|
13
|
+
|
14
|
+
def initialize(properties = DEFAULT_PROPERTIES)
|
15
|
+
unless Set.new(properties) <= Set.new(SUPPORTED_PROPERTIES)
|
16
|
+
raise ArgumentError.new("Unsupported properties specified: #{properties} Only #{SUPPORTED_PROPERTIES} are supported")
|
17
|
+
end
|
18
|
+
|
19
|
+
@properties = properties
|
20
|
+
end
|
21
|
+
|
9
22
|
def call(path_a, path_b)
|
10
23
|
paths = [path_a, path_b]
|
11
24
|
sanctoralia = paths.collect {|source| sanctorale_from_path source }
|
12
25
|
names = paths.collect {|source| File.basename source }
|
13
26
|
|
27
|
+
differences_found = false
|
14
28
|
all_possible_dates.each do |d|
|
15
29
|
a, b = sanctoralia.collect {|sanctorale| sanctorale[d] }
|
16
30
|
|
@@ -20,6 +34,7 @@ module CalendariumRomanum
|
|
20
34
|
compared = [ca, cb]
|
21
35
|
|
22
36
|
if compared.index(&:nil?)
|
37
|
+
differences_found = true
|
23
38
|
notnili = compared.index {|c| !c.nil? }
|
24
39
|
|
25
40
|
print date(d)
|
@@ -29,11 +44,12 @@ module CalendariumRomanum
|
|
29
44
|
next
|
30
45
|
end
|
31
46
|
|
32
|
-
differences =
|
47
|
+
differences = @properties.select do |property|
|
33
48
|
ca.public_send(property) != cb.public_send(property)
|
34
49
|
end
|
35
50
|
|
36
51
|
next if differences.empty?
|
52
|
+
differences_found = true
|
37
53
|
print date(d)
|
38
54
|
puts " differs in #{differences.join(', ')}"
|
39
55
|
puts celebration(ca)
|
@@ -41,6 +57,8 @@ module CalendariumRomanum
|
|
41
57
|
puts
|
42
58
|
end
|
43
59
|
end
|
60
|
+
|
61
|
+
!differences_found
|
44
62
|
end
|
45
63
|
|
46
64
|
private
|
@@ -56,7 +74,9 @@ module CalendariumRomanum
|
|
56
74
|
end
|
57
75
|
|
58
76
|
def celebration(c)
|
59
|
-
|
77
|
+
symbol_chunk = c.symbol && "#{c.symbol} | "
|
78
|
+
|
79
|
+
"#{c.rank.priority} #{c.colour.symbol} | #{symbol_chunk}#{c.title}"
|
60
80
|
end
|
61
81
|
end
|
62
82
|
end
|