Algorithm-FloodControl
view release on metacpan or search on metacpan
lib/Algorithm/FloodControl.pm view on Meta::CPAN
sub new {
my $class = shift;
my $params = validate @_,
{
storage => { type => OBJECT },
backend_name => { type => SCALAR, optional => 1 },
limits => { type => HASHREF }
};
my $self = $class->SUPER::new($params);
# be default backend will be selected by storage classname. but you can override it
my $backend_name = __PACKAGE__ . '::Backend::' . ( $self->{backend_name} || ref $self->storage );
load $backend_name;
$self->backend_name($backend_name);
return $self;
}
sub is_user_overrated {
my ( $self, @params ) = @_;
my ( $limit, $identifier ) = validate_pos @params, { type => SCALAR }, { type => SCALAR };
my @configs = @{ $self->{limits}{$limit} };
( run in 0.308 second using v1.01-cache-2.11-cpan-94b05bcf43c )