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::Quick - Use another formatter, simply

Authors

       •   Dave Rolsky <autarch@urth.org>

       •   Iain Truskett <spoon@cpan.org>

Description

       "Quick" adds a parser that allows some shortcuts when writing fairly standard and mundane calls to other
       formatting modules.

Name

       DateTime::Format::Builder::Parser::Quick - Use another formatter, simply

See Also

       "datetime@perl.org" mailing list.

       http://datetime.perl.org/

       perl, DateTime, DateTime::Format::Builder

Source

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

Specification

       "Quick" has two keys, one optional.

       The "Quick" keyword should have an argument of either an object or a class name. If it's a class name
       then the class is "use"d.

       The "method" keyword is optional with a default of "parse_datetime". It's either name of the method to
       invoke on the object, or a reference to a piece of code.

       In any case, the resultant code ends up looking like:

           my $rv = $Quick->$method($date);

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

Synopsis

           use DateTime::Format::Builder (
               parsers => {
                   parse_datetime => [
                       { Quick => 'DateTime::Format::HTTP' },
                       { Quick => 'DateTime::Format::Mail' },
                       { Quick => 'DateTime::Format::IBeat' },
                   ]
               }
           );

           # is the same as

           use DateTime::Format::HTTP;
           use DateTime::Format::Mail;
           use DateTime::Format::IBeat;

           use DateTime::Format::Builder (
               parsers => {
                   parse_datetime => [
                       sub {
                           eval { DateTime::Format::HTTP->parse_datetime( $_[1] ) }
                       },
                       sub {
                           eval { DateTime::Format::Mail->parse_datetime( $_[1] ) }
                       },
                       sub {
                           eval { DateTime::Format::IBeat->parse_datetime( $_[1] ) }
                       },
                   ]
               }
           );

       (These two pieces of code can both be found in the test suite; one as quick.t, the other as fall.t.)

Version

       version 0.83

See Also