calendarium-romanum 0.4.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +4 -0
- data/.rspec +2 -0
- data/.rubocop.yml +47 -0
- data/.travis.yml +22 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +431 -0
- data/Gemfile +25 -0
- data/Gemfile.lock +86 -0
- data/README.md +598 -0
- data/Rakefile +16 -0
- data/bin/calendariumrom +4 -1
- data/calendarium-romanum.gemspec +31 -0
- data/config/locales/cs.yml +5 -0
- data/config/locales/en.yml +21 -14
- data/config/locales/es.yml +94 -0
- data/config/locales/fr.yml +7 -0
- data/config/locales/it.yml +7 -0
- data/config/locales/la.yml +7 -0
- data/data/README.md +70 -24
- data/data/czech-brno-cs.txt +4 -6
- data/data/czech-budejovice-cs.txt +4 -6
- data/data/czech-cechy-cs.txt +4 -5
- data/data/czech-cs.txt +236 -234
- data/data/czech-hradec-cs.txt +3 -5
- data/data/czech-litomerice-cs.txt +5 -7
- data/data/czech-morava-cs.txt +4 -5
- data/data/czech-olomouc-cs.txt +2 -4
- data/data/czech-ostrava-cs.txt +3 -5
- data/data/czech-plzen-cs.txt +3 -5
- data/data/czech-praha-cs.txt +3 -4
- data/data/easter_dates.txt +67 -0
- data/data/universal-1969-la.txt +234 -0
- data/data/universal-en.txt +214 -211
- data/data/universal-es.txt +243 -0
- data/data/universal-fr.txt +214 -210
- data/data/universal-it.txt +214 -211
- data/data/universal-la.txt +214 -210
- data/doc/data_readme.md +2 -0
- data/doc/images/class_diagram.png +0 -0
- data/doc/images/class_diagram.puml +44 -0
- data/doc/yard_readme.rdoc +76 -0
- data/lib/calendarium-romanum.rb +35 -22
- data/lib/calendarium-romanum/abstract_date.rb +15 -0
- data/lib/calendarium-romanum/calendar.rb +207 -42
- data/lib/calendarium-romanum/cli.rb +63 -80
- data/lib/calendarium-romanum/cli/comparator.rb +63 -0
- data/lib/calendarium-romanum/cli/date_parser.rb +30 -0
- data/lib/calendarium-romanum/cli/dumper.rb +68 -0
- data/lib/calendarium-romanum/cli/helper.rb +23 -0
- data/lib/calendarium-romanum/cli/querier.rb +73 -0
- data/lib/calendarium-romanum/cr.rb +16 -0
- data/lib/calendarium-romanum/data.rb +50 -20
- data/lib/calendarium-romanum/day.rb +208 -32
- data/lib/calendarium-romanum/enum.rb +42 -25
- data/lib/calendarium-romanum/enums.rb +124 -44
- data/lib/calendarium-romanum/errors.rb +4 -0
- data/lib/calendarium-romanum/ordinalizer.rb +23 -2
- data/lib/calendarium-romanum/perpetual_calendar.rb +58 -7
- data/lib/calendarium-romanum/rank.rb +43 -12
- data/lib/calendarium-romanum/rank_predicates.rb +43 -0
- data/lib/calendarium-romanum/sanctorale.rb +164 -24
- data/lib/calendarium-romanum/sanctorale_factory.rb +74 -3
- data/lib/calendarium-romanum/sanctorale_loader.rb +180 -0
- data/lib/calendarium-romanum/sanctorale_writer.rb +119 -0
- data/lib/calendarium-romanum/temporale.rb +226 -94
- data/lib/calendarium-romanum/temporale/celebration_factory.rb +107 -0
- data/lib/calendarium-romanum/temporale/dates.rb +84 -16
- data/lib/calendarium-romanum/temporale/easter_table.rb +27 -0
- data/lib/calendarium-romanum/temporale/extensions.rb +15 -0
- data/lib/calendarium-romanum/temporale/extensions/christ_eternal_priest.rb +16 -3
- data/lib/calendarium-romanum/temporale/extensions/dedication_before_all_saints.rb +73 -0
- data/lib/calendarium-romanum/transfers.rb +60 -15
- data/lib/calendarium-romanum/util.rb +22 -3
- data/lib/calendarium-romanum/version.rb +5 -1
- data/liturgical_law/1969_normae_universales.md +568 -0
- data/liturgical_law/1977_decretum_de_celebratione_baptismatis_domini.md +58 -0
- data/liturgical_law/1990_decretum_de_variatione_inducenda.md +67 -0
- data/liturgical_law/1998_notificatio_de_occurrentia.md +57 -0
- data/liturgical_law/2002_normae_universales.md +946 -0
- data/liturgical_law/2006_notification.md +37 -0
- data/liturgical_law/2012_declarationes.md +38 -0
- data/liturgical_law/README.md +74 -0
- metadata +50 -28
- data/lib/calendarium-romanum/sanctoraleloader.rb +0 -115
- data/spec/abstract_date_spec.rb +0 -62
- data/spec/calendar_spec.rb +0 -330
- data/spec/celebration_spec.rb +0 -23
- data/spec/cli_spec.rb +0 -26
- data/spec/colour_spec.rb +0 -17
- data/spec/data_spec.rb +0 -23
- data/spec/date_spec.rb +0 -61
- data/spec/dates_spec.rb +0 -45
- data/spec/day_spec.rb +0 -59
- data/spec/enum_spec.rb +0 -51
- data/spec/i18n_spec.rb +0 -59
- data/spec/ordinalizer_spec.rb +0 -22
- data/spec/perpetual_calendar_spec.rb +0 -91
- data/spec/rank_spec.rb +0 -57
- data/spec/readme_spec.rb +0 -52
- data/spec/sanctorale_factory_spec.rb +0 -42
- data/spec/sanctorale_spec.rb +0 -191
- data/spec/sanctoraleloader_spec.rb +0 -171
- data/spec/season_spec.rb +0 -17
- data/spec/spec_helper.rb +0 -35
- data/spec/temporale_spec.rb +0 -519
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 783786a54e37a2d755c2bc0a0fdf1cf21b684ce5e1f186e180fb8513a7be8a8d
|
4
|
+
data.tar.gz: 8c4879981d34a5962f604de47ec4d77faf2b63cec5adf2699cfc9d1a718d045f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba211f79a4b79ed8169d15871e8630baf2a536182284ec58e851b061a980dd18a9163a8d8749ab8f1f470f2cdec64f5c236710022f8739862d39eb8efd88bcef
|
7
|
+
data.tar.gz: 7c6be1ff8bee1e4ea3159a7add679dc7b53949dfc086b82fc63335d670f69fdfc4518d020944d3db09a22cfeb6442fe733850adaab29948618a91f3ed93a3e82
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
Metrics/LineLength:
|
2
|
+
Max: 100
|
3
|
+
|
4
|
+
Style/EmptyLinesAroundClassBody:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
Style/EmptyLinesAroundModuleBody:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
Style/FrozenStringLiteralComment:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
Style/IfUnlessModifier:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Style/Lambda:
|
17
|
+
Enabled: false
|
18
|
+
|
19
|
+
Style/LambdaCall:
|
20
|
+
Enabled: false
|
21
|
+
|
22
|
+
Style/NumericPredicate:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
Style/PreferredHashMethods:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
Style/RaiseArgs:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
Style/RedundantException:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Style/SpaceInsideBlockBraces:
|
35
|
+
SpaceBeforeBlockParameters: false
|
36
|
+
|
37
|
+
Style/SpaceInsideHashLiteralBraces:
|
38
|
+
EnforcedStyle: no_space
|
39
|
+
|
40
|
+
Style/SpaceInsideRangeLiteral:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Style/TrailingCommaInLiteral:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
Style/ZeroLengthPredicate:
|
47
|
+
Enabled: false
|
data/.travis.yml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
language: ruby
|
2
|
+
cache: bundler
|
3
|
+
dist: trusty
|
4
|
+
|
5
|
+
install: bundle install --jobs=3 --deployment --without development
|
6
|
+
|
7
|
+
script: bundle exec rake spec
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
include:
|
11
|
+
- rvm: 2.6.5 # ~ latest MRI
|
12
|
+
script:
|
13
|
+
- bundle exec rake spec_all_locales
|
14
|
+
- bash spec/build/gem_build_test.sh
|
15
|
+
- rvm: 2.5.0 # oldest officially maintained MRI
|
16
|
+
- rvm: 2.0.0 # oldest MRI we support
|
17
|
+
# - rvm: jruby-9.1.12.0 # experimental
|
18
|
+
# allow_failures:
|
19
|
+
# - rvm: jruby-9.1.12.0
|
20
|
+
|
21
|
+
git:
|
22
|
+
depth: 3
|
data/.yardopts
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,431 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [0.8.0] 2020-11-25
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
|
7
|
+
- several fixes to the solemnity transfer rules:
|
8
|
+
- the algorithm was searching for free days only forwards,
|
9
|
+
but liturgical law assumes closest free day, even earlier
|
10
|
+
- check that two solemnities are not transferred to the same date,
|
11
|
+
overwriting one another
|
12
|
+
- the special rule on Annunciation from *Normae universales* 60
|
13
|
+
implemented
|
14
|
+
- fixed bug in computation of the date of Baptism of the Lord if Epiphany
|
15
|
+
is transferred to Sunday
|
16
|
+
- fixed bug in `Sanctorale#update` preventing more than one `Celebration`
|
17
|
+
with nil `#symbol` in a single `Sanctorale`
|
18
|
+
- `CelebrationFactory` was setting `Celebration#date` (if not specified)
|
19
|
+
to false instead of expected nil (thus breaking type promises)
|
20
|
+
- data: `czech-cs.txt`: typo fixed in the feast *symbol* of St. Bartholomew;
|
21
|
+
spelling of several feast titles corrected
|
22
|
+
- data: `czech-cs.txt`: proof-read against official sources, feasts
|
23
|
+
of "BVM, Queen of Angels" and St. Teresa of Calcutta deleted
|
24
|
+
(they are not on the calendar of Czech and Moravian dioceses,
|
25
|
+
incorrect information was copied from Czech Wikipedia at the time
|
26
|
+
of the data file's creation)
|
27
|
+
- data: all: Dedication of the Lateran Basilica is feast of the Lord
|
28
|
+
(had incorrect rank of a normal feast so far)
|
29
|
+
- data: `universal-en.txt`: several inaccuracies concerning liturgical
|
30
|
+
colour fixed
|
31
|
+
|
32
|
+
### Added
|
33
|
+
|
34
|
+
- `liturgical_law/`: all documents of liturgical legislation
|
35
|
+
containing the liturgical calendar rules (original Latin text)
|
36
|
+
in Markdown format, with Ruby code examples proving that
|
37
|
+
the rules are implemented correctly;
|
38
|
+
the code examples are all executed as part of the gem's test suite
|
39
|
+
- `SanctoraleWriter` (contributed by Mike Kasberg @mkasberg)
|
40
|
+
- `PerpetualCalendar.new` accepts keyword argument `vespers`
|
41
|
+
(cf. `Calendar.new` argument of the same name)
|
42
|
+
- `Rank#optional_memorial?`, `#obligatory_memorial?`
|
43
|
+
- `AbstractDate#in_year` - more readable alias of `#concretize`
|
44
|
+
- `Rank#succ` - (among other things) allows constructing `Range` of `Rank`s
|
45
|
+
- `Calendar#transferred`
|
46
|
+
- `Temporale::Extensions::DedicationBeforeAllSaints` defining the solemnity
|
47
|
+
of Aniversary of Dedication for churches celebrating it on the movable
|
48
|
+
date on the last October Sunday
|
49
|
+
- `Temporale::Extensions.all` - method listing all Temporale extensions
|
50
|
+
defined by the gem
|
51
|
+
- `Temporale#each_day`
|
52
|
+
- `Temporale::EasterTable` - class handling a simple plaintext format
|
53
|
+
for tables of Easter dates
|
54
|
+
- `Celebration.new`: new argument `sunday`
|
55
|
+
- `SanctoraleLoader`: proper solemnities/feasts/memorials
|
56
|
+
can be specified also by adding suffix `p` to the rank code
|
57
|
+
(instead of rank priority number used so far),
|
58
|
+
similarly suffix `l` can be used to specify proper rank for
|
59
|
+
feasts of the Lord
|
60
|
+
- data: `universal-1969-la.txt` - historical first version
|
61
|
+
of the General Roman Calendar
|
62
|
+
- module `Constants` containing all the constants from `Colours`,
|
63
|
+
`Seasons` and `Ranks`
|
64
|
+
|
65
|
+
### Changed
|
66
|
+
|
67
|
+
- the gemspec now declares requirement of Ruby >= 2.0
|
68
|
+
- `Calendar.new` can be called also without the `year` argument if `Temporale`
|
69
|
+
is provided (thus calling `Calendar.new(temporale, sanctorale)`
|
70
|
+
instead of `Calendar.new(year, sanctorale, temporale)`)
|
71
|
+
- Easter Triduum is now dealt with as a separate `Season`,
|
72
|
+
because *Normae universales* 18-21 clearly set the Triduum apart from
|
73
|
+
both Lent and Eastertide
|
74
|
+
- `Temporale::Extensions::ChristEternalPriest` specifies celebration
|
75
|
+
symbol (so far it was nil)
|
76
|
+
- `Celebration.new` supports keyword arguments (as an alternative to
|
77
|
+
or even in combination with the positional ones)
|
78
|
+
- `Temporale`: business logic guaranteeing that `Celebration#sunday?`
|
79
|
+
is true also for privileged Sundays (Advent, Lent)
|
80
|
+
- `calendariumrom` executable: all subcommands dealing with sanctorale
|
81
|
+
data files accept special file name `-` and load sanctorale data
|
82
|
+
from stdin in that case
|
83
|
+
- `Enum`, `Colours`, `Seasons`, `Ranks` and `Data` changed from classes
|
84
|
+
to modules
|
85
|
+
|
86
|
+
### Acknowledgements
|
87
|
+
|
88
|
+
Improvements not affecting the gem's public interface (and thus not listed
|
89
|
+
in the changelog) contributed by
|
90
|
+
|
91
|
+
- Ihor Voloshyn @Snick555
|
92
|
+
- Dmitry Zhmurko @zhmurko
|
93
|
+
|
94
|
+
## [0.7.1] 2020-06-28
|
95
|
+
|
96
|
+
### Fixed
|
97
|
+
|
98
|
+
- `SanctoraleFactory.load_with_parents` crashing on files without
|
99
|
+
metadata
|
100
|
+
- `Sanctorale#update` prohibiting application of a particular
|
101
|
+
calendar which moves s celebration contained in the calendar being
|
102
|
+
updated to an earlier date
|
103
|
+
(as exemplified by the bundled calendar of diocese of Litoměřice,
|
104
|
+
Czech Republic: on calendarium-romanum 0.7.0
|
105
|
+
`CalendariumRomanum::Data['czech-litomerice-cs'].load_with_parents`
|
106
|
+
raises `ArgumentError` complaining about non-unique celebration symbols)
|
107
|
+
- broken links in YARD documentation (due to files missing in the
|
108
|
+
gem archive and basename clashes)
|
109
|
+
|
110
|
+
### Changed
|
111
|
+
|
112
|
+
- if `Sanctorale#update` raises `ArgumentError` complaining about
|
113
|
+
non-unique celebration symbols, the updated `Sanctorale` instance
|
114
|
+
is left in an inconsistent internal state (more than one occurrence
|
115
|
+
of at least one celebration symbol)
|
116
|
+
- some additional non-code files (mostly for YARD documentation)
|
117
|
+
included in the gem archive
|
118
|
+
|
119
|
+
## [0.7.0] 2020-06-21
|
120
|
+
|
121
|
+
### Fixed
|
122
|
+
|
123
|
+
- St. Sebastian was missing in the French version of General Roman Calendar
|
124
|
+
- St. of Pietrelcina had incorrect rank in the Czech calendar
|
125
|
+
- `Sanctorale#add`: invalid attempt (i.e. an attempt raising an exception)
|
126
|
+
to add a second (or n-th) celebration for a given date was causing
|
127
|
+
inconsistency in the instance's internal state
|
128
|
+
- CLI: `calendariumrom query` wasn't printing celebrations of the highest
|
129
|
+
ranks (spotted and fixed by Mike Kasberg @mkasberg)
|
130
|
+
- CLI: got rid of a deprecation warning of the `i18n` gem
|
131
|
+
concerning `I18n.enforce_available_locales` (by Mike Kasberg @mkasberg)
|
132
|
+
|
133
|
+
### Added
|
134
|
+
|
135
|
+
- data: General Roman Calendar in Spanish + Spanish locale (by Alejandro Ulate @CodingAleCR)
|
136
|
+
- data: optional memorials of St. Paul VI, Our Lady of Loreto, St. Faustina Kowalska
|
137
|
+
- data: diocese of Prague: optional memorial of Bl. Friedrich Bachstein and companions
|
138
|
+
- `Day#weekday_name` (by Ronald Walker @RonWalker22)
|
139
|
+
- `Day#to_s`, `Celebration#to_s` (by PJ Pollina @pjpollina)
|
140
|
+
- all sanctorale data files are provided with celebration symbols (available as
|
141
|
+
`Celebration#symbol` when loaded)
|
142
|
+
- `SanctoraleLoader` loads the YAML front matter (if provided),
|
143
|
+
to `Sanctorale#metadata` (new property added for this purpose)
|
144
|
+
- `SanctoraleFactory` methods merge not only sanctorale contents,
|
145
|
+
but also metadata
|
146
|
+
- `SanctoraleFactory.load_with_parents`, `Data#load_with_parents`
|
147
|
+
to conveniently load sanctorale file hierarchies based on their
|
148
|
+
metadata (using key `"extends"`)
|
149
|
+
- `calendarium-romanum/cr` defining `::CR` shortcut constant
|
150
|
+
- huge improvement of the API documentation
|
151
|
+
|
152
|
+
### Changed
|
153
|
+
|
154
|
+
- data files format: celebration symbols never more start with a colon
|
155
|
+
- `Sanctorale#add` throws `ArgumentError` on attempt to add a `Celebration`
|
156
|
+
with `#symbol` which is already present in the given sanctorale
|
157
|
+
- all `#each` and `#each_*` methods defined in the gem return `Enumerator`
|
158
|
+
if called without a block
|
159
|
+
|
160
|
+
## [0.6.0] 2018-03-27
|
161
|
+
|
162
|
+
### Fixed
|
163
|
+
|
164
|
+
*Feature release - bugs were only introduced, not fixed :)*
|
165
|
+
|
166
|
+
### Added
|
167
|
+
|
168
|
+
- now handled: *Saturday Memorial of the Blessed Virgin Mary*
|
169
|
+
- new memorial of *Mary, Mother of the Church*
|
170
|
+
(both handled by `Temporale`)
|
171
|
+
- `Temporale#==`, `Sanctorale#==`
|
172
|
+
- `Calendar#populates_vespers?` (access value of an option)
|
173
|
+
- `Temporale#[]`, `Sanctorale#[]`, `PerpetualCalendar#[]`
|
174
|
+
- `Celebration#date` - only set for fixed-date celebrations,
|
175
|
+
contains the celebration's *usual* date (as `AbstractDate` instance),
|
176
|
+
thus making it possible
|
177
|
+
to check if a solemnity was transferred and what would be
|
178
|
+
it's normal date if the transfer didn't occur
|
179
|
+
- `Celebration#cycle` - returns either `:temporale` or `:sanctorale`
|
180
|
+
- cycle predicates:
|
181
|
+
`Celebration#temporale?` and `#sanctorale?`
|
182
|
+
- `Calendar#each` - yields each day of the liturgical year
|
183
|
+
- missing rank predicates:
|
184
|
+
`Rank#ferial?`, `Rank#sunday?`,
|
185
|
+
`Celebration#ferial?`, `Celebration#sunday?`
|
186
|
+
- `Celebration#symbol` can be specified also in sanctorale data files
|
187
|
+
(but data files with symbols are not yet available)
|
188
|
+
- CLI: `calendariumrom version` prints gem version
|
189
|
+
|
190
|
+
### Changed
|
191
|
+
|
192
|
+
- `Calendar#==` used to compare only class and year, now it compares
|
193
|
+
complete internal data
|
194
|
+
- `Colour#to_s` and `Season#to_s` now return meaningful values
|
195
|
+
like `"#<CalendariumRomanum::Colour red>"`
|
196
|
+
and `"#<CalendariumRomanum::Season lent>"`;
|
197
|
+
return value of `Rank#to_s` changed to match the common format
|
198
|
+
- English temporale feast names edited to match the standard US
|
199
|
+
liturgical books (by Mike Kasberg @mkasberg)
|
200
|
+
- `examples/` directory removed (README is now the main source
|
201
|
+
of copy-pastable examples)
|
202
|
+
- file naming unified: `calendarium-romanum/sanctoraleloader.rb`
|
203
|
+
renamed to `.../sanctorale_loader.rb`
|
204
|
+
|
205
|
+
## [0.5.0] 2017-11-01
|
206
|
+
|
207
|
+
### Fixed
|
208
|
+
|
209
|
+
- transfer of Epiphany to a Sunday was breaking numbering of weeks
|
210
|
+
of the Ordinary Time
|
211
|
+
- `Day.new()` (call without any arguments) was crashing
|
212
|
+
- shebang of `calendariumrom`
|
213
|
+
- CLI: `calendariumrom query` was printing internal representation
|
214
|
+
of a `Season` object instead of human-readable season name
|
215
|
+
(spotted and fixed by Simon Szutkowski @simonszu)
|
216
|
+
- MRI 2.x interpreter warnings
|
217
|
+
|
218
|
+
### Added
|
219
|
+
|
220
|
+
- first Vespers of Sundays and solemnities: optional feature
|
221
|
+
of the `Calendar` (constructor has new keyword argument
|
222
|
+
`vespers: true` to activate it), populates `Day#vespers`
|
223
|
+
with a `Celebration` if Vespers should be taken from the following
|
224
|
+
day
|
225
|
+
- proper handling of collision between *Immaculate heart of Mary*
|
226
|
+
and another obligatory memorial ([CDW Prot. n. 2671/98/L](http://www.vatican.va/roman_curia/congregations/ccdds/documents/rc_con_ccdds_doc_20000630_memoria-immaculati-cordis-mariae-virginis_lt.html))
|
227
|
+
- `Calendar#[]` - alias of `Calendar#day`, but with additional
|
228
|
+
support for a `Range` of `Date`s (returns an `Array` of `Dates`
|
229
|
+
when called this way;
|
230
|
+
by Brian Gates @bgates)
|
231
|
+
- `Celebration#change(title: nil, rank: nil, colour: nil, color: nil, symbol: nil)` -
|
232
|
+
returns a copy of the celebration with values of selected
|
233
|
+
properties replaced by those passed as arguments
|
234
|
+
- `Celebration#symbol` - machine-readable unique identifier
|
235
|
+
of a celebration, for now only for solemnities of the temporale
|
236
|
+
- CLI: `calendariumrom query` supports printing a day, month or year
|
237
|
+
(by Simon Szutkowski @simonszu)
|
238
|
+
- CLI: `calendariumrom query` supports apart of bundled calendars
|
239
|
+
also custom ones, specified on the command line
|
240
|
+
(by Simon Szutkowski @simonszu)
|
241
|
+
- CLI: `calendariumrom cmp` correctly handles celebrations
|
242
|
+
present in only one of the compared sources
|
243
|
+
- data: memorials of saint popes John XXIII and John Paul II added
|
244
|
+
to Universal Roman calendar in Latin and to the calendar
|
245
|
+
of Czech and Moravian dioceses where they were missing
|
246
|
+
|
247
|
+
### Changed
|
248
|
+
|
249
|
+
- ferials of the final week of Advent have proper titles
|
250
|
+
- ordinals in French names of Sundays and ferials have proper
|
251
|
+
suffixes
|
252
|
+
- `Day.new` signature changed from argument Hash
|
253
|
+
to Ruby 2 keyword arguments (no change in argument names
|
254
|
+
or count, but previously it wouldn't even notice unexpected
|
255
|
+
arguments, now it will crash when encountering them)
|
256
|
+
- `SanctoraleLoader` raises always `InvalidDataError`
|
257
|
+
(it used to raise `RangeError` on invalid date and
|
258
|
+
`RuntimeError` on other kinds of invalid data)
|
259
|
+
- `CelebrationFactory` creates also temporale solemnities
|
260
|
+
(useful mostly in specs)
|
261
|
+
- CLI: `calendariumrom errors` fails gracefully, without backtrace
|
262
|
+
|
263
|
+
## [0.4.0] 2017-09-02
|
264
|
+
|
265
|
+
### Fixed
|
266
|
+
|
267
|
+
- `Sanctorale#replace` saving the supplied array as part of
|
268
|
+
the internal data structures (and thus allowing their -
|
269
|
+
usually unintentional - modification by external code)
|
270
|
+
- `Calendar` unintentionally modifying `Sanctorale` internal data
|
271
|
+
when handling optional memorials
|
272
|
+
- errors in English ordinals greater than 10 ("21th" -> "21st" etc.)
|
273
|
+
- `Ranks::FERIAL.memorial?` wrongly returning `true`
|
274
|
+
- rank of *All Souls* fixed in all data files
|
275
|
+
|
276
|
+
### Added
|
277
|
+
|
278
|
+
- support for transfer of Epiphany, Ascension and Corpus Christi
|
279
|
+
to a Sunday (GNLYC 7)
|
280
|
+
- General Roman Calendar in French and French localization
|
281
|
+
(by Azarias Boutin @AzariasB)
|
282
|
+
- `PerpetualCalendar`
|
283
|
+
- `Season#name`, `Colour#name` - localized human-readable names
|
284
|
+
|
285
|
+
### Changed
|
286
|
+
|
287
|
+
- interface for `Temporale` extensions changed completely:
|
288
|
+
extensions are self-contained, isolated; their sole responsibility
|
289
|
+
is to yield data
|
290
|
+
- `Calendar` stripped of the ability to create new instances
|
291
|
+
with the same settings:
|
292
|
+
- `Calendar#pred` and `#succ` removed
|
293
|
+
- `Calendar.new` receives `Temporale` *instance*
|
294
|
+
(instead of a temporale factory)
|
295
|
+
- `Calendar#day` raises `RangeError` if the day is earlier than
|
296
|
+
1st January 1970 (day of introduction of the implemented calendar
|
297
|
+
system)
|
298
|
+
- `Temporale::Dates.easter_sunday` doesn't return Julian calendar
|
299
|
+
Easter date for years <= 1752 (this library isn't intended to be used
|
300
|
+
for years earlier than 1970)
|
301
|
+
- `Day#==` and `Calendar#==` test object contents, not identity
|
302
|
+
- `Temporale::Dates.body_blood` renamed to `.corpus_christi`
|
303
|
+
- `Sanctorale#freeze` freezes also the internal data structures
|
304
|
+
- `Calendar#freeze` freezes contained `Temporale` and `Sanctorale`
|
305
|
+
- seasons and colours indexed by their symbols, not by index number -
|
306
|
+
e.g. `Seasons[:lent]`, `Colours[:violet]`
|
307
|
+
- `Calendar#celebrations_for` made private
|
308
|
+
|
309
|
+
## [0.3.0] 2017-08-07
|
310
|
+
|
311
|
+
### Fixed
|
312
|
+
|
313
|
+
*This is a feature release - bugs were only introduced, not fixed :)*
|
314
|
+
|
315
|
+
### Added
|
316
|
+
|
317
|
+
- `Celebration#title` is now being generated for all Sundays and
|
318
|
+
ferials (was empty)
|
319
|
+
- ferials of the Holy Week and of the last week of Advent
|
320
|
+
have proper ranks
|
321
|
+
- new rank `Ranks::COMMEMORATION` introduced;
|
322
|
+
during privileged seasons, suppressed memorials, which
|
323
|
+
can be commemorated in the Divine Office (see GILH 239),
|
324
|
+
appear in `Day#celebrations` with this rank
|
325
|
+
- memorial of the *Immaculate Heart of Mary*
|
326
|
+
(although it really belongs to the sanctorale, as a movable feast
|
327
|
+
it is implemented in `Temporale`)
|
328
|
+
- support for extending `Temporale` with additional feasts
|
329
|
+
(`Temporale.with_extensions`, `Temporale.add_celebration`,
|
330
|
+
additional optional argument accepted by `Calendar.new` and
|
331
|
+
`Calendar.for_date`)
|
332
|
+
- `Temporale::Extensions::ChristEternalPriest` - `Temporale` extension
|
333
|
+
implementing the feast of *Christ the Eternal Priest*,
|
334
|
+
celebrated in some dioceses and religious institutes
|
335
|
+
on Thursday after Pentecost
|
336
|
+
- `Temporale::Dates` - module containing all the
|
337
|
+
temporale-solemnity-date-computing algorithms used in `Temporale`
|
338
|
+
- `Temporale#year`
|
339
|
+
- sanctorale data files may have YAML front matter
|
340
|
+
(a YAML document with metadata placed before the main content)
|
341
|
+
|
342
|
+
### Changed
|
343
|
+
|
344
|
+
- seasons and colours are represented by `Season` and `Colour`
|
345
|
+
instances, not by `Symbol`s
|
346
|
+
- `Temporale#advent_sunday` and most `#*_advent_sunday`
|
347
|
+
removed, only `Temporale#first_advent_sunday` remains
|
348
|
+
- `Temporale#weekday_before`, `#weekday_after`, `#octave_of`,
|
349
|
+
`#monday_before` etc., `#monday_after` etc. removed
|
350
|
+
(all these general date helpers now reside in `Temporale::Dates`)
|
351
|
+
- unused attribute `Day#vespers` removed
|
352
|
+
- `Temporale#concretize_abstract_date` removed
|
353
|
+
|
354
|
+
## [0.2.1] 2017-07-21
|
355
|
+
|
356
|
+
### Fixed
|
357
|
+
|
358
|
+
- `AbstractDate` validity checks refusing 29th February
|
359
|
+
|
360
|
+
## [0.2.0] 2017-07-20
|
361
|
+
|
362
|
+
### Fixed
|
363
|
+
|
364
|
+
- numbering of Ordinary Time Sundays after Pentecost
|
365
|
+
- `Calendar#day` when an instance of `DateTime` is supplied as argument
|
366
|
+
- minor fixes in data files
|
367
|
+
- `calendariumrom` executable (broken in recent releases)
|
368
|
+
|
369
|
+
### Added
|
370
|
+
|
371
|
+
- missing *temporale* feast days: Ash Wednesday, Palm Sunday, Ascension,
|
372
|
+
- new bundled locales: Latin, Italian, Czech
|
373
|
+
- contents of `Seasons`, `Ranks` and `Colours` can be explored via `each` and `all`
|
374
|
+
- bundled data files easily accessible through `CalendariumRomanum::Data`
|
375
|
+
|
376
|
+
### Changed
|
377
|
+
|
378
|
+
- `Rank` never more inherits from `Struct`
|
379
|
+
- `Seasons`, `Ranks` and `Colours` changed from modules to classes
|
380
|
+
- `Sanctorale` raises `ArgumentError` on attempt to load two celebrations of rank other than optional memorial on a single day
|
381
|
+
- data file format: rank letter is optional when the rank is specified by number
|
382
|
+
- data file format: rank and colour letters are treated case-insensitively
|
383
|
+
|
384
|
+
## [0.1.0] 2017-02-25
|
385
|
+
|
386
|
+
### Fixed
|
387
|
+
- computing date of Holy Family when there is no Sunday between December 25th and January 1st (by Eddy Mulyono @eddymul)
|
388
|
+
- missing information for some celebrations added to the General Roman Calendar in English (by Andrea Ferrato @ferra-andre)
|
389
|
+
|
390
|
+
### Added
|
391
|
+
- General Roman Calendar in Italian (by Andrea Ferrato @ferra-andre)
|
392
|
+
- `CalendariumRomanum::SanctoraleFactory` for loading of layered sanctorale calendars
|
393
|
+
- `Rank#short_desc` value for unprivileged Sunday and privileged ferial
|
394
|
+
- Temporale feast titles and some other strings can be translated (gem `i18n` used)
|
395
|
+
|
396
|
+
### Changed
|
397
|
+
- [breaking change] `SanctoraleLoader#load` argument order changed
|
398
|
+
|
399
|
+
## [0.0.3] 2016-08-27
|
400
|
+
|
401
|
+
### Fixed
|
402
|
+
- fatal constant reference bug in `Temporale`
|
403
|
+
- the specs that covered it
|
404
|
+
|
405
|
+
## [0.0.2] 2016-08-27 YANKED
|
406
|
+
|
407
|
+
release yanked, as it contained a fatal bug in `Temporale`,
|
408
|
+
resulting in `NameError` being raised on each initialization
|
409
|
+
|
410
|
+
### Fixed
|
411
|
+
- all celebrations handled by `Temporale` purged from the sanctorale
|
412
|
+
data files. Note that having temporale *solemnities* in sanctorale
|
413
|
+
data results in these being duplicated due to the transfer of
|
414
|
+
impeded solemnities.
|
415
|
+
- rank of Mary Magdalene updated in the sanctorale data files
|
416
|
+
- rank of the feast of the Holy Family fixed
|
417
|
+
|
418
|
+
### Changed
|
419
|
+
- solemnity of Mary, Mother of God (January 1st) is handled by
|
420
|
+
`Temporale`
|
421
|
+
|
422
|
+
## [0.0.1] 2016-08-20
|
423
|
+
|
424
|
+
### Added
|
425
|
+
- transfer of impeded solemnities
|
426
|
+
|
427
|
+
### Changed
|
428
|
+
- sanctorale data must be loaded before `Calendar` initialization
|
429
|
+
- `Calendar#sanctorale` is read-only
|
430
|
+
- dropped `Calendar.day`, `Sanctorale#validate_date`
|
431
|
+
- `SanctoraleLoader` raises exceptions on errors (instead of writing invalid entries to a log and skipping them)
|