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.6805';
3 1     1   5 use strict;
  1         2  
  1         23  
4 1     1   5 use warnings;
  1         1  
  1         20  
5              
6 1     1   4 use Mail::LMLM::Types::Base;
  1         2  
  1         17  
7              
8 1     1   4 use vars qw(@ISA);
  1         1  
  1         544  
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              
44 0           return $args;
45             }
46              
47             sub get_maintenance_url
48             {
49 0     0 1   my $self = shift;
50              
51 0 0         if (exists($self->{'maintenance_url'}))
52             {
53 0           return $self->{'maintenance_url'};
54             }
55             else
56             {
57 0           return $self->{'homepage'} . "mailman/listinfo/" . $self->get_group_base(). "/";
58             }
59              
60             }
61              
62             sub group_form
63             {
64 0     0 1   my $self = shift;
65              
66 0           my $add = shift;
67              
68             return (
69 0 0         ( $self->get_group_base() .
70             ($add ? ("-" . $add) : "") )
71             ,
72             $self->get_hostname()
73             );
74             }
75              
76             sub _get_post_address
77             {
78 0     0     my $self = shift;
79              
80 0           return $self->group_form();
81             }
82              
83             sub _get_owner_address
84             {
85 0     0     my $self = shift;
86              
87 0 0         if ($self->{owner})
88             {
89 0           return @{$self->{owner}};
  0            
90             }
91             else
92             {
93 0           return $self->group_form("owner");
94             }
95             }
96              
97             sub render_maint_url
98             {
99 0     0 1   my $self = shift;
100 0           my $htmler = shift;
101              
102 0           $htmler->start_para();
103 0           $htmler->text("Go to ");
104 0           $htmler->url($self->get_maintenance_url(), "to the maintenance URL");
105 0           $htmler->text(" and follow the instructions there.");
106 0           $htmler->end_para();
107              
108 0           return 0;
109             }
110              
111             sub render_subscribe
112             {
113 0     0 1   my $self = shift;
114              
115 0           my $htmler = shift;
116              
117 0           return $self->render_maint_url($htmler);
118             }
119              
120             sub render_unsubscribe
121             {
122 0     0 1   my $self = shift;
123              
124 0           my $htmler = shift;
125              
126 0           return $self->render_maint_url($htmler);
127             }
128              
129             sub render_post
130             {
131 0     0 1   my $self = shift;
132              
133 0           my $htmler = shift;
134              
135 0           return $self->render_something_with_email_addr(
136             $htmler,
137             "Send your messages to the following address: ",
138             \&_get_post_address
139             );
140             }
141              
142             sub render_owner
143             {
144 0     0 1   my $self = shift;
145              
146 0           my $htmler = shift;
147              
148 0           return $self->render_something_with_email_addr(
149             $htmler,
150             "Send messages to the mailing-list owner to the following address: ",
151             \&_get_owner_address
152             );
153             }
154              
155             1;
156              
157             __END__