igneus / calendarium-romanum

liturgical calendar library (Roman Catholic, post-Vatican II)
50 stars 21 forks source link

Is the 1998 "Notificatio de occurrentia" still in force? #98

Open igneus opened 1 year ago

igneus commented 1 year ago

In 1998 the CDW notification De occurrentia memoriae obligatoriae Immaculati Cordis Beatae Mariae Virginis una cum altera memoria eiusdem gradus specified that in case of occurrence of the memorial of Immaculate Heart of Mary with another obligatory memorial both are to be degraded to optional memorials that year.

In 2018 another notification De memoria beatae Mariae Virginis Ecclesiae Matris in a similar case ruled that the memorial of BVM is to prevail, iuxta liturgicam traditionem præstantiæ inter personas. While it dealt specifically with the memorial of BVM, Mother of the Church, and didn't explicitly derogate the older calendar rule, it stated that both cases are analogical, which seems to be derogating the older rule implicitly.

Currently calendarium-romanum still handles occurrences of Immaculate Heart according to the 1998 rule. Should it be changed to follow the logic introduced for BVM, Mother of the Church?

igneus commented 1 year ago

Either way goes the default implementation, there should be a convenient way to build a calendar with customized strategy of handling these occurrences. ref #49

igneus commented 1 year ago

Has the Immaculate Heart occurrence taken place since 2018, so that we can check the solution taken in ordo/directory published by the Vatican and each diocese?

# (script written with calendarium-romanum 0.9)
require 'calendarium-romanum/cr'

calendar = CR::PerpetualCalendar.new sanctorale: CR::Data::GENERAL_ROMAN_ENGLISH.load

(2018..2050).each do |year|
  date = CR::Temporale::Dates.immaculate_heart(year)
  ycalendar = calendar.calendar_for date

  next unless ycalendar.temporale[date].symbol == :immaculate_heart

  occurring_celebrations = ycalendar.sanctorale[date]
  rank = occurring_celebrations.first&.rank
  next unless rank == CR::Ranks::MEMORIAL_GENERAL || rank == CR::Ranks::MEMORIAL_PROPER

  puts "#{date} #{occurring_celebrations.first.title}"
end

... not yet, but it will take place in two years (2024/25 Immaculate Heart occurs with St. Irenaeus) and the two years immediately following.