Date::Holidays::Super - a SUPER class for the Date::Holidays::* modules
package MyHolidays; use Date::Holidays::Super; use vars qw(@ISA); @ISA = qw(Date::Holidays::Super); my $mh = MyHolidays->new(); my $bool = $mh->is_holiday( ... ); my $hashref = $mh->holidays( ... );
This POD described version 0.03 of Date::Holidays::Super
This is a SUPER class intended for use by Date::Holidays::* modules.
The goal is to have all the existing and future modules implement the same methods, so they will have a uniform usage and can be used in polymorphic context or can be easily adapted into the Date::Holidays class.
The class provides two methods: is_holiday and holidays an alternative to this class is Date::Holidays::Abstract, which does not implement these methods, but require that they are implemented.
If you want to use Date::Holidays::Super and want to comply with my suggestions to the methods that ought to be implemented, you should overload the methods provided by this class, when and if you have the time in your Date::Holidays::* module.
Should at least take 3 arguments:
The return value from is holiday is either a 1 or 0 indicating true of false, indicating whether the specified date is a holiday in the given country's national calendar.
is_holiday in the SUPER class returns 0 indicating false, since nothing intelligent can be said about holidays without specifying a national calendar.
Additional arguments are at the courtesy of the author of the using module/class.
Should at least take one argument:
Returns a reference to a hash, where the keys are date represented as four digits. The two first representing month (01-12) and the last two representing day (01-31).
The value for the key in question is the local name for the holiday indicated by the day. The resultset will of course vary depending on the given country's national holiday.
holidays in the SUPER class return a reference to an empty hash, since nothing intelligent can be said about holidays without specifying a national calendar.
--
Date::Holidays uses the requirements defined by this module and this module can therefor be used with success in conjunction with this.
This is an alternative to the abstract class Date::Holidays::Abstract.
Suggestions for changes and extensions are more than welcome.
No special exceptions/diagnostics are used at this time, please see TODO file
No special configuration and/or environment required
No dependencies at this time
No known incompatibilities at this time
Please report issues via CPAN RT:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Date-Holidays-Super
or by sending mail to
bug-Date-Holidays-Super@rt.cpan.org
Jonas B. Nielsen, (jonasbn) - <jonasbn@cpan.org>
<jonasbn@cpan.org>
Date-Holidays-Super is (C) by Jonas B. Nielsen, (jonasbn) 2004-2014
Date-Holidays-Super is released under the Artistic License 2.0
To install Date::Holidays::Super, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Date::Holidays::Super
CPAN shell
perl -MCPAN -e shell install Date::Holidays::Super
For more information on module installation, please visit the detailed CPAN module installation guide.