more redesign
Chris Nehren [Sat, 26 Jun 2010 01:43:56 +0000 (21:43 -0400)]
lib/Email/Archive.pm
lib/Email/Archive/Storage/DBI.pm
test_run

index a27196f..e7f5257 100644 (file)
@@ -5,11 +5,11 @@ use Email::Archive::Storage::DBI;
 has storage => (
   is    => 'rw',
   does  => 'Email::Archive::Storage',
-  handles     => [qw/
-    store
-    retrieve
-    search
-  /],
+  handles     => {
+    store    => 'store',
+    retrieve => 'retrieve',
+    connect  => 'storage_connect',
+  },
   lazy  => 1,
   default => sub { Email::Archive::Storage::DBI->new }
 );
index 72546fd..793eeed 100644 (file)
@@ -93,7 +93,7 @@ sub _deployed {
   }
 }
 
-sub db_connect {
+sub storage_connect {
   my ($self, $dsn) = @_;
   $self->dbh(DBI->connect($dsn));
   if(!$self->_deployed) {
index 8385f7f..a8b52ad 100644 (file)
--- a/test_run
+++ b/test_run
@@ -17,7 +17,7 @@ my $email = Email::Simple->create(
 );
 
 my $e = Email::Archive->new();
-$e->storage->db_connect('dbi:SQLite:dbname=test.db');
+$e->connect('dbi:SQLite:dbname=test.db');
 print "sending @{[$email->as_string]}\n";
 $e->store($email);