igest::SHA1 qw/sha1_hex/;
use File::Share qw/dist_file/;
use File::Slurp::Tiny qw/read_file/;
use JSON::MaybeXS;
use List::Util qw/any max min/;
use Redis;
use Try::Tiny;
use namespace::clean;
#pod =
"$_ undefined" for qw/interval limit/;
[
map 0+$_, # numify for later JSON encoding
@{$rule}{qw/interval limit/},
grep defined, $rule->{prec
eval($script, @params);
};
}
has _json_encoder => (
is => 'ro',
default => sub { JSON::MaybeXS->new(utf8 => 1) },
handles => {
json_encode => 'encode',
},
);
has _wh