Base.pm 466 B

1234567891011121314151617181920212223242526
  1. package Trog::Authz;
  2. use strict;
  3. use warnings;
  4. no warnings 'experimental';
  5. use feature qw{signatures state};
  6. use constant 'required_params' => [];
  7. sub new ($class, $params) {
  8. return 0 if grep { !$params->{$_} } @{$class->required_params()};
  9. my $self = bless { 'params' => $params }, $class;
  10. return $self->do_auth();
  11. }
  12. sub do_auth {
  13. die "Implemented in subclass";
  14. }
  15. sub failed {
  16. $self->{'failed'} //= -1;
  17. return $self->{'failed'};
  18. }
  19. 1;