度々こんなネタ:Plaggerのstash

※こういうネタ、小出しにしてるとキリないしキモメンですよねー… なるべく控えます。んで、件名があんまりだったので変更。



寝る前に書いた stash の件、Pluggable::Stash 作るまでもないかと思ったので patch。
ああ、亜流になっていく・・・

patch-file : lib-Plagger-daemonize.diff

--- Plagger.pm.org	2006-05-09 22:01:56.000000000 +0900
+++ Plagger.pm	2006-05-10 11:52:29.000000000 +0900
@@ -12,7 +12,7 @@
 use UNIVERSAL::require;
 
 use base qw( Class::Accessor::Fast );
-__PACKAGE__->mk_accessors( qw(conf update subscription plugins_path cache) );
+__PACKAGE__->mk_accessors( qw(conf stash update subscription plugins_path cache) );
 
 use Plagger::Cache;
 use Plagger::CacheProxy;
@@ -30,11 +30,13 @@
 
     my $self = bless {
         conf  => {},
+        stash => {},
         update => Plagger::Update->new,
         subscription => Plagger::Subscription->new,
         plugins_path => {},
         plugins => [],
-        rewrite_tasks => []
+        rewrite_tasks => [],
+        daemon => $opt{daemon} || undef,
     }, $class;
 
     my $config;
@@ -276,6 +278,8 @@
         $self->load_plugin({ module => 'Aggregator::Simple' });
     }
 
+DAEMON_LOOP:
+
     for my $feed ($self->subscription->feeds) {
         if (my $sub = $feed->aggregator) {
             $sub->($self, { feed => $feed });
@@ -321,6 +325,8 @@
         }
     }
 
+    goto DAEMON_LOOP if ($self->{daemon});
+
     $self->run_hook('publish.finalize');
 }
 

亜流に流れないようにするためには、やっぱり Pluggable にしたほうがよいのかー。
Class::Inspector でチェックもできるしなぁ。
うーむ・・・