e3d843b178970ab1d4679dfd71735315d3b55cd8
[scpubgit/App-EzPz.git] / lib / App / EzPz / User.pm
1 package App::EzPz::User;
2
3 use Authen::Htpasswd::User;
4 use Moo;
5
6 has _htpasswd_user => (
7   is => 'ro', init_arg => 'htpasswd_user', required => 1,
8   handles => [ qw(username password check_password) ],
9 );
10
11 around BUILDARGS => sub {
12   my ($orig, $self) = (shift, shift);
13   my $args = $self->$orig(@_);
14   $args->{htpasswd_user} ||=
15     Authen::Htpasswd::User->new(
16       delete @{$args}{qw(username password)}
17     );
18   return $args
19 };
20
21 1;