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;
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