From: Chris Nehren Date: Thu, 4 Aug 2011 00:57:34 +0000 (-0400) Subject: work towards s/Moose/Moo/g X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=243baf4d17a8918313b4555521216318e32c1e64;p=p5sagit%2FPromulger.git work towards s/Moose/Moo/g --- diff --git a/Makefile.PL b/Makefile.PL index 7e3934c..af46329 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -15,9 +15,7 @@ requires 'Email::Sender'; requires 'Fcntl'; requires 'IPC::Run3'; # requires 'Mail::Verp'; # not yet -requires 'Moose'; -requires 'MooseX::Storage'; -requires 'JSON::Any'; +requires 'Moo'; requires 'Path::Class'; requires 'Tie::File'; requires 'autodie'; @@ -32,5 +30,7 @@ resources 'IRC' => 'irc://irc.perl.org/#promulger'; resources 'license' => 'http://dev.perl.org/licenses/'; resources 'repository' => 'git://git.shadowcat.co.uk/p5sagit/Promulger.git'; +auto_install(); + WriteAll(); diff --git a/lib/App/Promulger/Command/newsub.pm b/lib/App/Promulger/Command/newsub.pm index 567221f..6afce38 100644 --- a/lib/App/Promulger/Command/newsub.pm +++ b/lib/App/Promulger/Command/newsub.pm @@ -16,9 +16,7 @@ sub run { my $listname = $args->[0]; my $list = Promulger::List->resolve($listname); - if($list) { - $list->delete; - } else { + if(!$list) { die "$listname doesn't exist\n"; } diff --git a/lib/Promulger/List.pm b/lib/Promulger/List.pm index 5238e99..9e0e969 100644 --- a/lib/Promulger/List.pm +++ b/lib/Promulger/List.pm @@ -1,40 +1,37 @@ package Promulger::List; -use Moose; -use MooseX::Storage; +use Moo; use autodie ':all'; use Carp; use Path::Class; use Fcntl ':flock'; use Tie::File; +use File::Slurp qw/read_file, write_file/; +use Data::Dumper; +$Data::Dumper::Purity = 1; use Promulger::Config; has listname => ( is => 'ro', - isa => 'Str', + isa => sub { $_[0] =~ /^\w+$/ or die "listname must be a string" }, required => 1, ); has active => ( is => 'rw', - isa => 'Bool', + isa => sub { ($_[0] == 0 || $_[0] == 1) or die "active must be 0 or 1" }, required => 1, - default => 1, + default => sub { 1 }, ); has subscribers => ( is => 'rw', - isa => 'HashRef', + isa => sub { ref $_[0] eq 'HASH' or die "subscribers must be a hashref" }, required => 1, default => sub { {} }, ); -with Storage ( - format => 'JSON', - io => 'File', -); - sub resolve { my ($self, $proto) = @_; $proto =~ s/-request$//; @@ -113,4 +110,15 @@ sub find_path_for { return $path; } +sub store { + my ($self, $path) = @_; + my $dumped = 'do { my '. Dumper($self) . '; $VAR1; }'; + write_file($path, $dumped); +} + +sub load { + my ($class, $path) = @_; + return do $path; +} + 'http://mitpress.mit.edu/sicp/';