App-JESP
view release on metacpan or search on metacpan
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
lib/App/JESP/Cmd/CommandJESP.pm view on Meta::CPAN
}
=head2 options
Override this in subclasses to add options to opt_spec
=cut
sub options{return ();}
=head2 validate_args
Do some stuff with validate args.
=cut
sub validate_args {
my ( $self, $opts, $args ) = @_;
unless( $opts->dsn() ){ die "Missing 'dsn' option. Run with -h\n"; }
unless( $opts->home() ){ die "Missing 'home' option. Run with -h\n"; }
# Time to build the JESP
$log->debug("Building App::JESP instance");
my $jesp = App::JESP->new({
dsn => $opts->dsn(),
home => $opts->home(),
( $opts->username() ? ( username => $opts->username() ) : ( username => undef ) ),
( $opts->password() ? ( password => $opts->password() ) : ( password => undef ) ),
});
$log->debug("App::JESP instance built");
# Inject __jesp in myself.
# Yes this is a bit dirty, but it works.
$self->{__jesp} = $jesp;
$self->validate( $opts, $args );
}
=head2 validate
Override that in subclasses to validate further.
=cut
sub validate{};
=head2 jesp
Returns the current JESP instance.
=cut
sub jesp{
my ($self) = @_;
return $self->{__jesp};
( run in 0.490 second using v1.01-cache-2.11-cpan-beeb90c9504 )