Rick:
In DateTime::Event::Easter:
* as_set(from => $dt, to => $dt2, inclusive=>([0]|1))
Returns a DateTime::Set of Easter Events between to and from.
How about changing:
sub as_set {
my $self = shift;
return DateTime::Set->from_datetimes( dates => [
$self->as_list(@_) ] );
}
To:
# untested code
sub as_set {
my $self = shift;
return DateTime::Set->from_recurrence(
next => sub { $self->following( $_[0] },
previous => sub { $self->previous( $_[0] },
@_
);
}
This will give the following syntax:
$set = $easter->as_set; # all easters forever
$set = $easter->as_set( after => $dt ); # all easters after $dt
$set = $easter->as_set( start => $dt ); # all easters after $dt,
maybe including $dt
$set = $easter->as_set( before => $dt ); # all easters before $dt
$set = $easter->as_set( end => $dt ); # all easters before $dt,
maybe including $dt
$set = $easter->as_set( start => $dt1, end => $dt2 ); # all easters
in the span
$set = $easter->as_set( after => $dt1, before => $dt2 ); # all
easters inside the span
$set = $easter->as_set( span => $dt_span ); # all easters in the
DateTime::Span
- Flavio S. Glock