File Coverage

blib/lib/Mail/LMLM/Types/Mailman.pm
Criterion Covered Total %
statement 12 59 20.3
branch 0 10 0.0
condition n/a
subroutine 4 14 28.5
pod 8 8 100.0
total 24 91 26.3


line stmt bran cond sub pod time code
1             package Mail::LMLM::Types::Mailman;
2             $Mail::LMLM::Types::Mailman::VERSION = '0.6807';
3 1     1   7 use strict;
  1         2  
  1         29  
4 1     1   5 use warnings;
  1         2  
  1         24  
5              
6 1     1   6 use Mail::LMLM::Types::Base;
  1         2  
  1         21  
7              
8 1     1   5 use vars qw(@ISA);
  1         2  
  1         613  
9              
10             @ISA = qw(Mail::LMLM::Types::Base);
11              
12             sub parse_args
13             {
14 0     0 1   my $self = shift;
15              
16 0           my $args = shift;
17              
18 0           $args = $self->SUPER::parse_args($args);
19              
20 0           my ( @left, $key, $value );
21              
22 0           while ( scalar(@$args) )
23             {
24 0           $key = shift(@$args);
25 0           $value = shift(@$args);
26              
27 0 0         if ( $key =~ /^-?(maintenance[-_]url)$/ )
    0          
28             {
29 0           $self->{'maintenance_url'} = $value;
30             }
31             elsif ( $key =~ /^-?(owner)$/ )
32             {
33 0           $self->{'owner'} = $value;
34             }
35             else
36             {
37 0           push @left, $key, $value;
38             }
39             }
40              
41 0           return \@left;
42              
43 0           return $args;
44             }
45              
46             sub get_maintenance_url
47             {
48 0     0 1   my $self = shift;
49              
50 0 0         if ( exists( $self->{'maintenance_url'} ) )
51             {
52 0           return $self->{'maintenance_url'};
53             }
54             else
55             {
56             return
57 0           $self->{'homepage'}
58             . "mailman/listinfo/"
59             . $self->get_group_base() . "/";
60             }
61              
62             }
63              
64             sub group_form
65             {
66 0     0 1   my $self = shift;
67              
68 0           my $add = shift;
69              
70 0 0         return ( ( $self->get_group_base() . ( $add ? ( "-" . $add ) : "" ) ),
71             $self->get_hostname() );
72             }
73              
74             sub _get_post_address
75             {
76 0     0     my $self = shift;
77              
78 0           return $self->group_form();
79             }
80              
81             sub _get_owner_address
82             {
83 0     0     my $self = shift;
84              
85 0 0         if ( $self->{owner} )
86             {
87 0           return @{ $self->{owner} };
  0            
88             }
89             else
90             {
91 0           return $self->group_form("owner");
92             }
93             }
94              
95             sub render_maint_url
96             {
97 0     0 1   my $self = shift;
98 0           my $htmler = shift;
99              
100 0           $htmler->start_para();
101 0           $htmler->text("Go to ");
102 0           $htmler->url( $self->get_maintenance_url(), "to the maintenance URL" );
103 0           $htmler->text(" and follow the instructions there.");
104 0           $htmler->end_para();
105              
106 0           return 0;
107             }
108              
109             sub render_subscribe
110             {
111 0     0 1   my $self = shift;
112              
113 0           my $htmler = shift;
114              
115 0           return $self->render_maint_url($htmler);
116             }
117              
118             sub render_unsubscribe
119             {
120 0     0 1   my $self = shift;
121              
122 0           my $htmler = shift;
123              
124 0           return $self->render_maint_url($htmler);
125             }
126              
127             sub render_post
128             {
129 0     0 1   my $self = shift;
130              
131 0           my $htmler = shift;
132              
133 0           return $self->render_something_with_email_addr( $htmler,
134             "Send your messages to the following address: ",
135             \&_get_post_address );
136             }
137              
138             sub render_owner
139             {
140 0     0 1   my $self = shift;
141              
142 0           my $htmler = shift;
143              
144 0           return $self->render_something_with_email_addr( $htmler,
145             "Send messages to the mailing-list owner to the following address: ",
146             \&_get_owner_address );
147             }
148              
149             1;
150              
151             __END__