summary refs log tree commit diff
path: root/lib/Plack/Middleware/APIRateLimit/Backend/Hash.pm
blob: 0e407d8f9745ed5239ee5085ad089db36c1c4a4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package Plack::Middleware::APIRateLimit::Backend::Hash;

use Moose;
extends 'Plack::Middleware::APIRateLimit::Backend';

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;