aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel')
-rw-r--r--lib/kernel/calendar.ml4
-rw-r--r--lib/kernel/liturgical_day.ml1
-rw-r--r--lib/kernel/liturgical_day.mli4
-rw-r--r--lib/kernel/rite.ml1
-rw-r--r--lib/kernel/rite.mli6
5 files changed, 16 insertions, 0 deletions
diff --git a/lib/kernel/calendar.ml b/lib/kernel/calendar.ml
index db6c58e..7178780 100644
--- a/lib/kernel/calendar.ml
+++ b/lib/kernel/calendar.ml
@@ -551,6 +551,9 @@ let build_day (rite : ('s, 'r) Rite.t) (idx : 'r Layer.index)
let creed =
rite.Rite.creed ~temporal ~observed:resolution.Precedence.observed.Precedence.cel ~date
in
+ let gloria =
+ rite.Rite.gloria ~temporal ~observed:resolution.Precedence.observed.Precedence.cel ~date
+ in
{
Liturgical_day.date;
rite = rite.Rite.id;
@@ -564,6 +567,7 @@ let build_day (rite : ('s, 'r) Rite.t) (idx : 'r Layer.index)
citations;
formulary;
creed;
+ gloria;
}
let year (rite : ('s, 'r) Rite.t) (layer : 'r Layer.t) (y : int) :
diff --git a/lib/kernel/liturgical_day.ml b/lib/kernel/liturgical_day.ml
index 09ac0a1..98c5084 100644
--- a/lib/kernel/liturgical_day.ml
+++ b/lib/kernel/liturgical_day.ml
@@ -27,5 +27,6 @@ type ('s, 'r) t = {
(** which Mass the day says, and how that was decided; [None] only for
a rite with no lectionary -- see {!Mass_formulary} *)
creed : bool; (** whether the Creed is said at this day's Mass; see {!Rite.t.creed} *)
+ gloria : bool; (** whether the Gloria in excelsis is said; see {!Rite.t.gloria} *)
}
[@@deriving sexp]
diff --git a/lib/kernel/liturgical_day.mli b/lib/kernel/liturgical_day.mli
index eb45e61..939f8f5 100644
--- a/lib/kernel/liturgical_day.mli
+++ b/lib/kernel/liturgical_day.mli
@@ -37,5 +37,9 @@ type ('s, 'r) t = {
(** Whether the Creed is said at this day's Mass -- {!Rite.t.creed},
EF: RG 475-476. A decision, not an [option]: [false] for a rite
that has not implemented the rule, same as [creed] itself. *)
+ gloria : bool;
+ (** Whether the Gloria in excelsis is said at this day's Mass --
+ {!Rite.t.gloria}, EF: RG 431-432. Same seam as [creed] in every
+ respect. *)
}
[@@deriving sexp]
diff --git a/lib/kernel/rite.ml b/lib/kernel/rite.ml
index 738785a..915941d 100644
--- a/lib/kernel/rite.ml
+++ b/lib/kernel/rite.ml
@@ -20,4 +20,5 @@ type ('s, 'r) t = {
temporal_at:(Date.t -> ('s, 'r) Temporal.t) ->
Mass_formulary.t option * Citation.t list;
creed : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> bool;
+ gloria : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> bool;
}
diff --git a/lib/kernel/rite.mli b/lib/kernel/rite.mli
index 0dcf17e..b9d1961 100644
--- a/lib/kernel/rite.mli
+++ b/lib/kernel/rite.mli
@@ -134,4 +134,10 @@ type ('s, 'r) t = {
Easter-relative window (e.g. "within the octave of Easter") needs
the civil date and the rite's own Easter to test it, and neither
[temporal] nor [observed] alone carries that arithmetic. *)
+ gloria : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> bool;
+ (** Whether the Gloria in excelsis is said at this day's Mass (EF: RG
+ 431-432). Same seam as {!creed} in every respect: same three
+ parameters and the same reasons for each, a [bool] not an
+ [option], and [false] is the answer a rite that has not
+ implemented the rule returns explicitly. *)
}