IOC
view release on metacpan or search on metacpan
lib/IOC/Service.pm view on Meta::CPAN
}
package IOC::Service::Deferred;
use strict;
use warnings;
our $VERSION = '0.02';
use overload '%{}' => sub {
return $_[0] if (caller)[0] eq 'IOC::Service::Deferred';
$_[0] = $_[0]->{service}->instance();
$_[0]
},
'@{}' => sub { $_[0] = $_[0]->{service}->instance(); $_[0] },
'${}' => sub { $_[0] = $_[0]->{service}->instance(); $_[0] },
'&{}' => sub { $_[0] = $_[0]->{service}->instance(); $_[0] },
nomethod => sub {
$_[0] = $_[0]->{service}->instance();
return overload::StrVal($_[0]) if ($_[3] eq '""' && !overload::Method($_[0], $_[3]));
if (my $func = overload::Method($_[0], $_[3])) {
( run in 0.821 second using v1.01-cache-2.11-cpan-a3c8064c92c )