handles => [ qw(username password check_password) ],
);
-has ezmlm_bindir => (is => 'rwp');
+has ezmlm_config => (
+ is => 'rwp',
+ handles => {
+ _new_list_object => 'new_list_object'
+ }
+);
around BUILDARGS => sub {
my ($orig, $self) = (shift, shift);
return;
}
-sub add_list_name {
+sub has_list_name {
my ($self, $name) = @_;
my %names; @names{my @names = $self->list_names} = ();
- $self->set_list_names(@names, $name) unless exists $names{$name};
+ return exists $names{$name};
+}
+
+sub add_list_name {
+ my ($self, $name) = @_;
+ unless ($self->has_list_name($name)) {
+ $self->set_list_names($self->list_names, $name);
+ }
return $name;
}
sub remove_list_name {
my ($self, $name) = @_;
- my %names; @names{my @names = $self->list_names} = ();
- if (exists $names{$name}) {
+ if ($self->has_list_name($name)) {
$self->set_list_names(grep !($_ eq $name), $self->list_names)
}
return $name;
}
+sub get_list {
+ my ($self, $name) = @_;
+ return undef unless $self->has_list_name($name);
+ return $self->_new_list_object({ list_name => $name });
+}
+
1;