summaryrefslogtreecommitdiff
path: root/lib/Plack/Middleware/Throttle/Backend/Hash.pm
blob: 9144e36f13c52c199c3adb11ea802783c4e32302 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Plack::Middleware::Throttle::Backend::Hash;

use Moose;

has store => (
    is      => 'rw',
    isa     => 'HashRef',
    traits  => ['Hash'],
    lazy    => 1,
    default => sub { {} },
    handles => { get => 'get', set => 'set' }
);

sub incr {
    my ( $self, $key ) = @_;
    my $value = ( $self->get($key) || 0 ) + 1;
    $self->set( $key => $value );
}

1;