diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Sietima.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/CmdLine.pm | 10 | ||||
-rw-r--r-- | lib/Sietima/HeaderURI.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/MailStore.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/MailStore/FS.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Message.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Policy.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/AvoidDups.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/Debounce.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/Headers.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/ManualSubscription.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/NoMail.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/ReplyTo.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/SubjectTag.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly/Drop.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly/Moderate.pm | 43 | ||||
-rw-r--r-- | lib/Sietima/Role/WithMailStore.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/WithOwner.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/WithPostAddress.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Runner.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Subscriber.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Types.pm | 4 |
23 files changed, 83 insertions, 54 deletions
diff --git a/lib/Sietima.pm b/lib/Sietima.pm index bd02ccf..a5d22d9 100644 --- a/lib/Sietima.pm +++ b/lib/Sietima.pm @@ -15,7 +15,7 @@ use Email::Address; use namespace::clean; with 'MooX::Traits'; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: minimal mailing list manager @@ -138,7 +138,7 @@ Sietima - minimal mailing list manager =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/CmdLine.pm b/lib/Sietima/CmdLine.pm index 9ae7e1e..a3a7583 100644 --- a/lib/Sietima/CmdLine.pm +++ b/lib/Sietima/CmdLine.pm @@ -8,7 +8,7 @@ use App::Spec; use Sietima::Runner; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: run Sietima as a command-line application @@ -48,6 +48,10 @@ sub _build_app_spec($self) { return App::Spec->read({ $spec_data->%*, $self->extra_spec->%*, + + # App::Spec 0.005 really wants a class name, even when we pass + # a pre-build cmd object to the Runner + class => ref($self->sietima), }); } @@ -62,8 +66,6 @@ sub _build_runner($self) { return Sietima::Runner->new({ spec => $self->app_spec, cmd => $self->sietima, - # App::Spec 0.005 really wants a class name - class => ref($self->sietima), }); } @@ -81,7 +83,7 @@ Sietima::CmdLine - run Sietima as a command-line application =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/HeaderURI.pm b/lib/Sietima/HeaderURI.pm index 195dbb6..323b075 100644 --- a/lib/Sietima/HeaderURI.pm +++ b/lib/Sietima/HeaderURI.pm @@ -8,7 +8,7 @@ use Types::URI qw(Uri is_Uri); use Email::Address; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: annotated URI for list headers @@ -103,7 +103,7 @@ Sietima::HeaderURI - annotated URI for list headers =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/MailStore.pm b/lib/Sietima/MailStore.pm index 47e9ae2..543ff43 100644 --- a/lib/Sietima/MailStore.pm +++ b/lib/Sietima/MailStore.pm @@ -3,7 +3,7 @@ use Moo::Role; use Sietima::Policy; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: interface for mail stores @@ -25,7 +25,7 @@ Sietima::MailStore - interface for mail stores =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 DESCRIPTION diff --git a/lib/Sietima/MailStore/FS.pm b/lib/Sietima/MailStore/FS.pm index 02970a9..b829a0a 100644 --- a/lib/Sietima/MailStore/FS.pm +++ b/lib/Sietima/MailStore/FS.pm @@ -8,7 +8,7 @@ use Sietima::Types qw(EmailMIME TagName); use Digest::SHA qw(sha1_hex); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: filesystem-backed email store @@ -132,7 +132,7 @@ Sietima::MailStore::FS - filesystem-backed email store =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Message.pm b/lib/Sietima/Message.pm index 517223e..d5d2b04 100644 --- a/lib/Sietima/Message.pm +++ b/lib/Sietima/Message.pm @@ -10,7 +10,7 @@ use Sietima::Subscriber; use Email::MIME; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: an email message with an envelope @@ -64,7 +64,7 @@ Sietima::Message - an email message with an envelope =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Policy.pm b/lib/Sietima/Policy.pm index 2635205..5ac4b6f 100644 --- a/lib/Sietima/Policy.pm +++ b/lib/Sietima/Policy.pm @@ -5,7 +5,7 @@ use warnings; use feature ':5.24'; use experimental 'signatures'; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: pragma for Sietima modules @@ -33,7 +33,7 @@ Sietima::Policy - pragma for Sietima modules =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/AvoidDups.pm b/lib/Sietima/Role/AvoidDups.pm index e30d7b5..3fe6182 100644 --- a/lib/Sietima/Role/AvoidDups.pm +++ b/lib/Sietima/Role/AvoidDups.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Email::Address; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: prevent people from receiving the same message multiple times @@ -39,7 +39,7 @@ Sietima::Role::AvoidDups - prevent people from receiving the same message multip =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/Debounce.pm b/lib/Sietima/Role/Debounce.pm index 5979594..129fcff 100644 --- a/lib/Sietima/Role/Debounce.pm +++ b/lib/Sietima/Role/Debounce.pm @@ -3,7 +3,7 @@ use Moo::Role; use Sietima::Policy; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: avoid mail loops @@ -36,7 +36,7 @@ Sietima::Role::Debounce - avoid mail loops =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/Headers.pm b/lib/Sietima/Role/Headers.pm index 8468ab0..2547b70 100644 --- a/lib/Sietima/Role/Headers.pm +++ b/lib/Sietima/Role/Headers.pm @@ -8,7 +8,7 @@ use Types::Standard qw(Str); use Sietima::Types qw(HeaderUriFromThings); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: adds standard list-related headers to messages @@ -89,7 +89,7 @@ Sietima::Role::Headers - adds standard list-related headers to messages =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/ManualSubscription.pm b/lib/Sietima/Role/ManualSubscription.pm index 4abbb82..ebda9c9 100644 --- a/lib/Sietima/Role/ManualSubscription.pm +++ b/lib/Sietima/Role/ManualSubscription.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Sietima::HeaderURI; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: adds standard list-related headers to messages with 'Sietima::Role::WithOwner'; @@ -41,7 +41,7 @@ Sietima::Role::ManualSubscription - adds standard list-related headers to messag =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/NoMail.pm b/lib/Sietima/Role/NoMail.pm index adcc5ad..6d46a3d 100644 --- a/lib/Sietima/Role/NoMail.pm +++ b/lib/Sietima/Role/NoMail.pm @@ -3,7 +3,7 @@ use Moo::Role; use Sietima::Policy; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: don't send mail to those who don't want it @@ -28,7 +28,7 @@ Sietima::Role::NoMail - don't send mail to those who don't want it =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/ReplyTo.pm b/lib/Sietima/Role/ReplyTo.pm index b6a15ea..f790842 100644 --- a/lib/Sietima/Role/ReplyTo.pm +++ b/lib/Sietima/Role/ReplyTo.pm @@ -6,7 +6,7 @@ use Sietima::Types qw(Address AddressFromStr); use List::AllUtils qw(part); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: munge the C<Reply-To> header @@ -77,7 +77,7 @@ Sietima::Role::ReplyTo - munge the C<Reply-To> header =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/SubjectTag.pm b/lib/Sietima/Role/SubjectTag.pm index 024c6bd..ac3f71c 100644 --- a/lib/Sietima/Role/SubjectTag.pm +++ b/lib/Sietima/Role/SubjectTag.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Types::Standard qw(Str); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: add a tag to messages' subjects @@ -40,7 +40,7 @@ Sietima::Role::SubjectTag - add a tag to messages' subjects =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/SubscriberOnly.pm b/lib/Sietima/Role/SubscriberOnly.pm index 8f14bf0..41002f3 100644 --- a/lib/Sietima/Role/SubscriberOnly.pm +++ b/lib/Sietima/Role/SubscriberOnly.pm @@ -7,7 +7,7 @@ use Types::Standard qw(Object CodeRef); use Type::Params qw(compile); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: base role for "closed" lists @@ -49,7 +49,7 @@ Sietima::Role::SubscriberOnly - base role for "closed" lists =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/SubscriberOnly/Drop.pm b/lib/Sietima/Role/SubscriberOnly/Drop.pm index dbd1ca9..bfe7afb 100644 --- a/lib/Sietima/Role/SubscriberOnly/Drop.pm +++ b/lib/Sietima/Role/SubscriberOnly/Drop.pm @@ -3,7 +3,7 @@ use Moo::Role; use Sietima::Policy; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: drop messages from non-subscribers @@ -26,7 +26,7 @@ Sietima::Role::SubscriberOnly::Drop - drop messages from non-subscribers =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/SubscriberOnly/Moderate.pm b/lib/Sietima/Role/SubscriberOnly/Moderate.pm index 3ea53aa..ec7454a 100644 --- a/lib/Sietima/Role/SubscriberOnly/Moderate.pm +++ b/lib/Sietima/Role/SubscriberOnly/Moderate.pm @@ -5,7 +5,7 @@ use Email::Stuffer; use Email::MIME; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: moderate messages from non-subscribers @@ -72,6 +72,16 @@ sub show_mail_from_moderation_queue ($self,$runner,@) { } +sub resume_mail_from_moderation_queue ($self,$runner,@) { + $self->resume($runner->parameters->{'mail-id'}); +} + + +sub drop_mail_from_moderation_queue ($self,$runner,@) { + $self->drop($runner->parameters->{'mail-id'}); +} + + around command_line_spec => sub ($orig,$self) { my $spec = $self->$orig(); @@ -104,15 +114,11 @@ around command_line_spec => sub ($orig,$self) { $etc->('show'), }; $spec->{subcommands}{'resume-held'} = { - op => sub ($self,$runner,$args) { - $self->resume($runner->parameters->{'mail-id'}); - }, + op => 'resume_mail_from_moderation_queue', $etc->('resume'), }; $spec->{subcommands}{'drop-held'} = { - op => sub ($self,$runner,$args) { - $self->drop($runner->parameters->{'mail-id'}); - }, + op => 'drop_mail_from_moderation_queue', $etc->('drop'), }; @@ -133,7 +139,7 @@ Sietima::Role::SubscriberOnly::Moderate - moderate messages from non-subscribers =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS @@ -207,6 +213,27 @@ out|App::Spec::Runner/out> via the L<< C<Sietima::Runner> >> object. This method is usually invoked from the command line, see L<< /C<command_line_spec> >>. +=head2 C<resume_mail_from_moderation_queue> + + $sietima->resume_mail_from_moderation_queue($sietima_runner); + +This method L<retrieves the email|Sietima::MailStore/retrieve_by_id> +of the message requested from the command line, and L<resumes|/resume> +it. + +This method is usually invoked from the command line, see L<< +/C<command_line_spec> >>. + +=head2 C<drop_mail_from_moderation_queue> + + $sietima->drop_mail_from_moderation_queue($sietima_runner); + +This method L<retrieves the email|Sietima::MailStore/retrieve_by_id> +of the message requested from the command line, and L<drops|/drop> it. + +This method is usually invoked from the command line, see L<< +/C<command_line_spec> >>. + =head1 MODIFIED METHODS =head2 C<command_line_spec> diff --git a/lib/Sietima/Role/WithMailStore.pm b/lib/Sietima/Role/WithMailStore.pm index db5dfeb..c0cf995 100644 --- a/lib/Sietima/Role/WithMailStore.pm +++ b/lib/Sietima/Role/WithMailStore.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Sietima::Types qw(MailStore MailStoreFromHashRef); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: role for lists with a store for messages @@ -29,7 +29,7 @@ Sietima::Role::WithMailStore - role for lists with a store for messages =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/WithOwner.pm b/lib/Sietima/Role/WithOwner.pm index 71205dc..1793381 100644 --- a/lib/Sietima/Role/WithOwner.pm +++ b/lib/Sietima/Role/WithOwner.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Sietima::Types qw(Address AddressFromStr); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: role for lists with an owner @@ -37,7 +37,7 @@ Sietima::Role::WithOwner - role for lists with an owner =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Role/WithPostAddress.pm b/lib/Sietima/Role/WithPostAddress.pm index 708ac85..0e22e52 100644 --- a/lib/Sietima/Role/WithPostAddress.pm +++ b/lib/Sietima/Role/WithPostAddress.pm @@ -4,7 +4,7 @@ use Sietima::Policy; use Sietima::Types qw(Address AddressFromStr); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: role for lists with a posting address @@ -36,7 +36,7 @@ Sietima::Role::WithPostAddress - role for lists with a posting address =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 SYNOPSIS diff --git a/lib/Sietima/Runner.pm b/lib/Sietima/Runner.pm index d7d6e2b..58e73ef 100644 --- a/lib/Sietima/Runner.pm +++ b/lib/Sietima/Runner.pm @@ -3,7 +3,7 @@ use Moo; use Sietima::Policy; use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: C<App::Spec::Run> for Sietima @@ -32,7 +32,7 @@ Sietima::Runner - C<App::Spec::Run> for Sietima =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 DESCRIPTION diff --git a/lib/Sietima/Subscriber.pm b/lib/Sietima/Subscriber.pm index 62f72a4..b888efb 100644 --- a/lib/Sietima/Subscriber.pm +++ b/lib/Sietima/Subscriber.pm @@ -8,7 +8,7 @@ use Email::Address; use List::AllUtils qw(any); use namespace::clean; -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: a subscriber to a mailing list @@ -66,7 +66,7 @@ Sietima::Subscriber - a subscriber to a mailing list =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 DESCRIPTION diff --git a/lib/Sietima/Types.pm b/lib/Sietima/Types.pm index e5c4913..b5e8398 100644 --- a/lib/Sietima/Types.pm +++ b/lib/Sietima/Types.pm @@ -13,7 +13,7 @@ use Type::Library Subscriber SubscriberFromAddress SubscriberFromStr SubscriberFromHashRef Transport MailStore MailStoreFromHashRef); -our $VERSION = '1.0.4'; # VERSION +our $VERSION = '1.0.5'; # VERSION # ABSTRACT: type library for Sietima @@ -85,7 +85,7 @@ Sietima::Types - type library for Sietima =head1 VERSION -version 1.0.4 +version 1.0.5 =head1 DESCRIPTION |