NAME

App::CLI::Plugin::InstallCallback - for App::CLI::Extension install callback module

VERSION

0.2

SYNOPSIS

# MyApp.pm
package MyApp;
use strict;
__PACKAGE__->load_plugins(qw(InstallCallback));
# MyApp/Hello.pm
package MyApp::Hello;
use strict;
use feature ":5.10.0";
sub prerun {
my($self, @args) = @_;
say "prerun method!";
}
sub run {
my($self, @args) = @_;
say "run method!";
}
sub postrun {
my($self, @args) = @_;
say "postrun method!";
}
sub finish {
my($self, @args) = @_;
say "finish method!";
}
# myapp
#!/usr/bin/perl
use strict;
use MyApp;
MyApp->dispatch;
# execute
[kurt@localhost ~] myapp hello
prerun method!
run method!
postrun method!
finish method!

DESCRIPTION

App::CLI::Extension install callback module

In App::CLI, run set of non-execution method, perform the installation

prerun phase(if exists) -> run phase -> postrun phase(if exists) -> finish phase(if exists)

App::CLI::Command in a class that inherits the *prerun*, *postrun*, *finish* the run only if it defines a method

METHOD

new_callback

install new callback phase

Example:

$self->new_callback("some_phase");

add_callback

install new callback

Example:

$self->add_callback("some_phase", sub { my $self = shift; say "some_phase method" });
$self->add_callback("prerun", sub { my $self = shift; say "prerun method No.1" });
$self->add_callback("prerun", sub { my $self = shift; say "prerun method No.2" });

exec_callback

execute callback

Example:

$self->execute_callback("some_phase");
# some_phase method
$self->execute_callback("prerun");
# prerun method No.1
# prerun method No.2

SEE ALSO

App::CLI::Extension Class::Data::Accessor Sub::Install

AUTHOR

Akira Horimoto

COPYRIGHT AND LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Copyright (C) 2009 Akira Horimoto