logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

DateTime::Format::Builder::Parser::generic - Useful routines

Authors

       •   Dave Rolsky <autarch@urth.org>

       •   Iain Truskett <spoon@cpan.org>

Methods

Usefulnew

       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

   Methodsforsubclassing
       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(...);

Name

       DateTime::Format::Builder::Parser::generic - Useful routines

See Also

       "datetime@perl.org" mailing list.

       http://datetime.perl.org/

       perl, DateTime, DateTime::Format::Builder, DateTime::Format::Builder::Parser.

Source

       The    source     code     repository     for     DateTime-Format-Builder     can     be     found     at
       <https://github.com/houseabsolute/DateTime-Format-Builder>.

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".

Version

       version 0.83

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