Date-Lectionary

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    Date::Lectionary - Readings for the Christian Lectionary

VERSION
    Version 1.20200203

SYNOPSIS
        use Time::Piece;
        use Date::Lectionary;

        my $epiphany = Date::Lectionary->new('date'=>Time::Piece->strptime("2017-01-06", "%Y-%m-%d"));
        say $epiphany->day->name; #String representation of the name of the day in the liturgical calendar; e.g. 'The Epiphany'
        say $epiphany->year->name; #String representation of the name of the liturgical year; e.g. 'A'
        say ${$epiphany->readings}[0] #String representation of the first reading for the day.

DESCRIPTION
    Date::Lectionary takes a Time::Piece date and returns the liturgical day
    and associated readings for the day.

  ATTRIBUTES
   date
    The Time::Piece object date given at object construction.

   lectionary
    An optional attribute given at object creation time. Valid values are
    'acna' for the Anglican Church of North America lectionary and 'rcl' for
    the Revised Common Lectionary with complementary readings in ordinary
    time. This attribute defaults to 'acna' if no value is given.

   day
    A Date::Lectionary::Day object containing attributes related to the
    liturgical day.

    "type": Stores the type of liturgical day. 'fixedFeast' is returned for
    non-moveable feast days such as Christmas Day. 'moveableFeast' is
    returned for moveable feast days. Moveable feasts move to a Monday when
    they occure on a Sunday. 'Sunday' is returned for non-fixed feast
    Sundays of the liturgical year. 'noLect' is returned for days with no
    feast day or Sunday readings.

    "name": The name of the day in the lectionary. For noLect days a String
    representation of the day is returned as the name.

    "alt": The alternative name --- if one is given --- of the day in the
    lectionary. If there is no alternative name for the day, then the empty
    string will be returned.

    "multiLect": Returns 'yes' if the day has multiple services with
    readings associated with it. (E.g. Christmas Day, Easter, etc.) Returns
    'no' if the day is a normal lectioanry day with only one service and one
    set of readings.

   year
    A Date::Lectionary::Year object containing attributes related to the
    liturgical year the date given at object construction resides in.

    "name": Returns 'A', 'B', or 'C' depending on the liturgical year the
    date given at object construction resides in.

   readings
    Return an ArrayRef of the String representation of the day's readings if
    there are any. Readings in the ArrayRef are ordered in the array
    according to the order the readings are given in the lectionary. If
    mutliple readings exist for the day, an ArrayRef of HashRefs will be
    given.

      my $singleReading = Date::Lectionary->new(
          'date'       => Time::Piece->strptime( "2016-11-13", "%Y-%m-%d" ),
          'lectionary' => 'acna'
      );

      say ${ $testReading->readings }[1]; #Will print 'Ps 98', the second reading for the Sunday closest to November 16 in the default ACNA lectionary for year C.



( run in 1.432 second using v1.01-cache-2.11-cpan-437f7b0c052 )