/[Frey]/branches/zimbardo/lib/Frey/Storage.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /branches/zimbardo/lib/Frey/Storage.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1188 by dpavlin, Sun Jul 5 21:40:16 2009 UTC revision 1189 by dpavlin, Mon Sep 28 20:23:45 2009 UTC
# Line 4  use Moose::Role; Line 4  use Moose::Role;
4  with 'Frey::Path';  with 'Frey::Path';
5    
6  #use YAML::Syck; # XXX doesn't play nice with Continuity  #use YAML::Syck; # XXX doesn't play nice with Continuity
7  use YAML qw/LoadFile DumpFile/;  use YAML qw//;
8  use File::Slurp;  use File::Slurp qw//;
9    use Storable qw//;
10  use Carp qw/croak carp/;  use Carp qw/croak carp/;
11    
12  =head2 store  =head2 store
# Line 25  sub store { Line 26  sub store {
26          my ( $filename, $data ) = @_;          my ( $filename, $data ) = @_;
27          $self->mkbasepath( $filename );          $self->mkbasepath( $filename );
28          if ( $filename =~ m{\.ya?ml$}i ) {          if ( $filename =~ m{\.ya?ml$}i ) {
29                  DumpFile( $filename, $data );                  YAML::DumpFile( $filename, $data );
30            } elsif ( $filename =~ m{\.sto?r?a?b?l?e?$} ) {
31                    Storable::store $data => $filename;
32          } else {          } else {
33                  croak "without extension we can save only scalar data" if ref($data);                  croak "without extension we can save only scalar data" if ref($data);
34                  write_file( $filename, $data );                  File::Slurp::write_file( $filename, $data );
35          }          }
36          carp "created $filename ", -s $filename;          carp "created $filename ", -s $filename;
37  }  }
# Line 44  sub load { Line 47  sub load {
47          return if ! -e $filename;          return if ! -e $filename;
48          my $data;          my $data;
49          if ( $filename =~ m{\.ya?ml}i ) {          if ( $filename =~ m{\.ya?ml}i ) {
50                  $data = LoadFile( $filename );                  $data = YAML::LoadFile( $filename );
51            } elsif ( $filename =~ m{\.stor?a?b?l?e?$} ) {
52                    $data = Storable::retrieve $filename;
53          } else {          } else {
54                  $data = read_file( $filename );                  $data = File::Slurp::read_file( $filename );
55          }          }
56          $self->storage_timestamp->{ $filename } = _path_time( $filename );          $self->storage_timestamp->{ $filename } = _path_time( $filename );
57          return $data;          return $data;

Legend:
Removed from v.1188  
changed lines
  Added in v.1189

  ViewVC Help
Powered by ViewVC 1.1.26