NAME
DateTime::Format::Builder::Parser::generic - Useful routines
VERSION
version 0.83
METHODS
Useful
new
Standard constructor. Returns a blessed hash; any arguments are placed in the hash. This is useful for storing information between methods.
generic_parser
This is a method provided solely for the benefit of Parser
implementations. It semi-neatly abstracts a lot of the work involved.
Basically, it takes parameters matching the assorted callbacks from the parser declarations and makes a coderef out of it all.
Currently recognized callbacks are:
on_match
on_fail
preprocess
postprocess
Methods for subclassing
These are methods you should define when writing your own subclass.
Note: these methods do not exist in this class. There is no point trying to call $self->SUPER::do_match( ... )
.
do_match
do_match
is the first phase. Arguments are the date and @args. self
, label
, args
. Return value must be defined if you match successfully.
post_match
post_match
is called after the appropriate callback out of on_match
/on_fail
is done. It's passed the date, the return value from do_match
and the parsing hash.
Its return value is used as the post
argument to the postprocess
callback, and as the second argument to make
.
make
make
takes the original input, the return value from post_match
and the parsing hash and should return a DateTime
object or undefined.
Delegations
For use of Parser
, this module also delegates valid_params
and params
. This is just convenience to save typing the following:
DateTime::Format::Builder::Parser->valid_params(...)
Instead we get to type:
$self->valid_params(...);
__PACKAGE__->valid_params(...);
WRITING A SUBCLASS
Rather than attempt to explain how it all works, I think it's best if you take a look at Regex.pm and Strptime.pm as examples and work from there.
SEE ALSO
datetime@perl.org
mailing list.
http://datetime.perl.org/
perl, DateTime, DateTime::Format::Builder, DateTime::Format::Builder::Parser.
SUPPORT
Bugs may be submitted at https://github.com/houseabsolute/DateTime-Format-Builder/issues.
I am also usually active on IRC as 'autarch' on irc://irc.perl.org
.
SOURCE
The source code repository for DateTime-Format-Builder can be found at https://github.com/houseabsolute/DateTime-Format-Builder.
AUTHORS
Dave Rolsky <autarch@urth.org>
Iain Truskett <spoon@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2020 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included with this distribution.