Anansi-Class
view release on metacpan or search on metacpan
lib/Anansi/Class.pm view on Meta::CPAN
return $self->SUPER::implicate($caller, $parameter);
}
return if($@);
}
=over 4
=item self I<(Blessed Hash, Required)>
An object of this namespace.
=item caller I<(Array, Required)>
An array containing the I<package>, I<file name> and I<line number> of the caller.
=item parameter I<(String, Required)>
A string containing the name to import.
=back
A virtual method. Performs one module instance name import. Called for each
name to import.
=cut
sub implicate {
my ($self, $caller, $parameter) = @_;
try {
return $self->SUPER::implicate($caller, $parameter);
}
return if($@);
}
=head2 import
use Anansi::Example qw(EXAMPLE_VARIABLE);
=over 4
=item self I<(Blessed Hash, Required)>
An object of this namespace.
=item parameters I<(Array, Optional)>
An array containing all of the names to import.
=back
Performs all required module name imports. Indirectly called via an extending
module.
=cut
sub import {
my ($self, @parameters) = @_;
my $caller = caller();
foreach my $parameter (@parameters) {
my $value = $self->implicate($caller, $parameter);
*{$caller.'::'.$parameter} = $value if(defined($value));
}
}
=head2 initialise
$OBJECT->initialise();
$OBJECT->SUPER::initialise();
=over 4
=item self I<(Blessed Hash, Required)>
An object of this namespace.
=item parameters I<(Hash, Optional)>
Named parameters that were supplied to the I<new> method.
=back
A virtual method. Called just after module instance object creation.
=cut
sub initialise {
my ($self, %parameters) = @_;
}
=head2 namespace
=over 4
=item self I<(Blessed Hash, Required)>
An object of this namespace.
=back
Returns this object's namespace or B<undef> on error.
=cut
sub namespace {
my ($self) = @_;
return if(ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i);
return ref($self);
}
=head2 new
my $object = Anansi::Example->new();
( run in 2.865 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )