package Autocache::Request;
use Any::Moose;
use Autocache::Logger qw(get_logger);
has 'name' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'normaliser' => (
is => 'ro',
required => 1,
);
has 'generator' => (
is => 'ro',
required => 1,
);
has 'args' => (
is => 'ro',
isa => 'ArrayRef',
required => 1,
);
has 'context' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'key' => (
is => 'ro',
isa => 'Str',
lazy_build => 1,
);
sub _build_key
{
my ($self) = @_;
get_logger()->debug( "_build_key" );
return sprintf 'AC-%s-%s-%s',
$self->context,
$self->name,
$self->normaliser->( @{$self->args} );
}
no Any::Moose;
__PACKAGE__->meta->make_immutable;
1;