App-CELL
view release on metacpan or search on metacpan
lib/App/CELL.pm view on Meta::CPAN
OK success
WARN previous call already succeeded, nothing to do
ERR failure
On success, it also sets the C<CELL_META_START_DATETIME> meta parameter.
=cut
sub load {
my $class = shift;
my ( %ARGS ) = validate( @_, {
enviro => { type => SCALAR, optional => 1 },
sitedir => { type => SCALAR, optional => 1 },
verbose => { type => SCALAR, default => 0 },
} );
my $status;
$log->info( "CELL version $VERSION called from " . (caller)[0] .
" with arguments " . stringify_args( \%ARGS ),
cell => 1, suppress_caller => 1 );
lib/App/CELL/Load.pm view on Meta::CPAN
my $status = App::CELL::Load::init(
sitedir => '/etc/foo',
verbose => 1
);
See L<App::CELL::Guide> for details.
=cut
sub init {
my %ARGS = validate( @_, {
enviro => { type => SCALAR, optional => 1 },
sitedir => { type => SCALAR, optional => 1 },
verbose => { type => SCALAR, default => 0 },
} );
# determine verbosity level
my $args_string;
if ( %ARGS ) {
$args_string = "with arguments: " . stringify_args( \%ARGS );
} else {
lib/App/CELL/Load.pm view on Meta::CPAN
triggers a warning.
Although the arguments are passed to the function in the form of a
PARAMHASH, the function converts them into ordinary private variables.
This was necessary to avoid extreme notational ugliness.
=cut
sub _conf_from_config {
my $self = shift;
my ( %ARGS ) = validate( @_, {
Dest => { type => HASHREF },
Param => { type => SCALAR },
Value => { type => SCALAR|SCALARREF|ARRAYREF|HASHREF|CODEREF|UNDEF },
File => { type => SCALAR },
Line => { type => SCALAR },
} );
# convert PARAMHASH into private variables
my $desthash = $ARGS{'Dest'};
my $param = $ARGS{'Param'};
my $value = $ARGS{'Value'};
lib/App/CELL/Status.pm view on Meta::CPAN
# dump object to file descriptor
$status->dump( fd => STDOUT );
$status->dump( to => 'fd', fd => \*STDOUT );
Always returns a true value.
=cut
sub dump {
my $self = shift;
my ( %ARGS ) = validate( @_, { 'to' => 0, 'fd' => 0 } );
my ( $action, $fh );
if ( not %ARGS ) {
$action = 'string';
} elsif ( exists $ARGS{'to'} ) {
if ( $ARGS{'to'} eq 'string' ) {
$action = 'string';
} elsif ( $ARGS{'to'} eq 'log' ) {
$action = 'log';
} elsif ( $ARGS{'to'} eq 'fd' and exists $ARGS{'fd'} ) {
$action = 'fd';
lib/App/CELL/Status.pm view on Meta::CPAN
), "\n";
} else {
die "App::CELL->Status->dump() doing nothing (bad things happening)";
}
return 1;
}
sub _prep_dump_string {
my %ARGS = validate( @_, {
'level' => 1,
'code' => 0,
'text' => 1,
} );
my $prepped_string = "$ARGS{'level'}: ";
if ( $ARGS{'code'} and $ARGS{'code'} ne $ARGS{'text'} ) {
$prepped_string .= "($ARGS{'code'}) ";
}
$prepped_string .= "$ARGS{'text'}";
( run in 0.644 second using v1.01-cache-2.11-cpan-a5abf4f5562 )