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

App::Info::Handler::Prompt - Prompting App::Info event handler

Author

       David E. Wheeler <david@justatheory.com>

Description

       App::Info::Handler::Prompt objects handle App::Info events by printing their messages to "STDOUT" and
       then accepting a new value from "STDIN". The new value is validated by any callback supplied by the
       App::Info concrete subclass that triggered the event. If the value is valid, App::Info::Handler::Prompt
       assigns the new value to the event request. If it isn't it prints the error message associated with the
       event request, and then prompts for the data again.

       Although designed with unknown and confirm events in mind, App::Info::Handler::Prompt handles info and
       error events as well. It will simply print info event messages to "STDOUT" and print error event messages
       to "STDERR". For more interesting info and error event handling, see App::Info::Handler::Print and
       App::Info::Handler::Carp.

       Upon loading, App::Info::Handler::Print registers itself with App::Info::Handler, setting up a single
       string, "prompt", that can be passed to an App::Info concrete subclass constructor. This string is a
       shortcut that tells App::Info how to create an App::Info::Handler::Print object for handling events.

Interface

Constructornew

         my $prompter = App::Info::Handler::Prompt->new;

       Constructs a new App::Info::Handler::Prompt object and returns it. No special arguments are required.

Name

       App::Info::Handler::Prompt - Prompting App::Info event handler

See Also

       App::Info documents the event handling interface.

       App::Info::Handler::Carp handles events by passing their messages Carp module functions.

       App::Info::Handler::Print handles events by printing their messages to a file handle.

       App::Info::Handler describes how to implement custom App::Info event handlers.

Support

       This module is stored in an open GitHub repository <http://github.com/theory/app-info/>. Feel free to
       fork and contribute!

       Please file bug reports via GitHub Issues <http://github.com/theory/app-info/issues/> or by sending mail
       to bug-App-Info@rt.cpan.org <mailto:bug-App-Info@rt.cpan.org>.

Synopsis

         use App::Info::Category::FooApp;
         use App::Info::Handler::Print;

         my $prompter = App::Info::Handler::Print->new;
         my $app = App::Info::Category::FooApp->new( on_unknown => $prompter );

         # Or...
         my $app = App::Info::Category::FooApp->new( on_confirm => 'prompt' );

See Also