diff options
author | Eric Wong <e@80x24.org> | 2020-01-01 09:57:50 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-01-02 02:15:46 +0000 |
commit | 599166a3072a1f165ca54121a9dbb24ce2585c2f (patch) | |
tree | a9668b273f501c648e83a0d672871036a9389131 /Documentation/mknews.perl | |
parent | 078f637c80cc33c7d29973b95fdc16205ad7bb32 (diff) | |
download | public-inbox-599166a3072a1f165ca54121a9dbb24ce2585c2f.tar.gz |
Plack pulls in a lot of dependencies which can be time-consuming to install. It should not be necessary for somebody who just wants to run -mda/-watch and -nntpd and forego WWW.
Diffstat (limited to 'Documentation/mknews.perl')
-rwxr-xr-x | Documentation/mknews.perl | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/Documentation/mknews.perl b/Documentation/mknews.perl index 5ede3696..3efabdb5 100755 --- a/Documentation/mknews.perl +++ b/Documentation/mknews.perl @@ -7,9 +7,9 @@ use strict; use PublicInbox::MIME; use PublicInbox::View; -use Plack::Util; use PublicInbox::MsgTime qw(msg_datestamp); use PublicInbox::MID qw(mids mid_escape); +END { $INC{'Plack/Util.pm'} and warn "$0 should not have loaded Plack::Util\n" } my $dst = shift @ARGV or die "Usage: $0 <NEWS|NEWS.atom|NEWS.html>"; # newest to oldest @@ -34,11 +34,11 @@ if ($dst eq 'NEWS') { } } elsif ($dst eq 'NEWS.atom' || $dst eq 'NEWS.html') { open $out, '>', $tmp or die; - my $ibx = Plack::Util::inline_object( - description => sub { 'public-inbox releases' }, - over => sub { undef }, - search => sub { 1 }, # for WwwStream:_html_top - base_url => sub { "$base_url/" }, + my $ibx = My::MockObject->new( + description => 'public-inbox releases', + over => undef, + search => 1, # for WwwStream:_html_top + base_url => "$base_url/", ); $ibx->{-primary_address} = $addr; my $ctx = { @@ -102,7 +102,7 @@ sub mime2html { sub html_start { my ($out, $ctx) = @_; require PublicInbox::WwwStream; - $ctx->{www} = Plack::Util::inline_object(style => sub { '' }); + $ctx->{www} = My::MockObject->new(style => ''); my $www_stream = PublicInbox::WwwStream->new($ctx); print $out $www_stream->_html_top, '<pre>' or die; } @@ -144,3 +144,19 @@ sub mime2atom { print $out $str or die; } } +package My::MockObject; +use strict; +our $AUTOLOAD; + +sub new { + my ($class, %values) = @_; + bless \%values, $class; +} + +sub AUTOLOAD { + my ($self) = @_; + my $attr = (split(/::/, $AUTOLOAD))[-1]; + $self->{$attr}; +} + +1; |