--- branches/zimbardo/lib/Frey/Storage.pm 2009/09/28 19:06:48 1188 +++ branches/zimbardo/lib/Frey/Storage.pm 2009/09/28 20:23:45 1189 @@ -4,8 +4,9 @@ with 'Frey::Path'; #use YAML::Syck; # XXX doesn't play nice with Continuity -use YAML qw/LoadFile DumpFile/; -use File::Slurp; +use YAML qw//; +use File::Slurp qw//; +use Storable qw//; use Carp qw/croak carp/; =head2 store @@ -25,10 +26,12 @@ my ( $filename, $data ) = @_; $self->mkbasepath( $filename ); if ( $filename =~ m{\.ya?ml$}i ) { - DumpFile( $filename, $data ); + YAML::DumpFile( $filename, $data ); + } elsif ( $filename =~ m{\.sto?r?a?b?l?e?$} ) { + Storable::store $data => $filename; } else { croak "without extension we can save only scalar data" if ref($data); - write_file( $filename, $data ); + File::Slurp::write_file( $filename, $data ); } carp "created $filename ", -s $filename; } @@ -44,9 +47,11 @@ return if ! -e $filename; my $data; if ( $filename =~ m{\.ya?ml}i ) { - $data = LoadFile( $filename ); + $data = YAML::LoadFile( $filename ); + } elsif ( $filename =~ m{\.stor?a?b?l?e?$} ) { + $data = Storable::retrieve $filename; } else { - $data = read_file( $filename ); + $data = File::Slurp::read_file( $filename ); } $self->storage_timestamp->{ $filename } = _path_time( $filename ); return $data;