/[cvs]/nfo/perl/libs/Data/Storage/Handler/File.pm
ViewVC logotype

Annotation of /nfo/perl/libs/Data/Storage/Handler/File.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations)
Tue Feb 11 05:15:45 2003 UTC (21 years, 4 months ago) by joko
Branch: MAIN
Changes since 1.3: +6 -10 lines
- no Exporter any more

1 joko 1.3 #!/usr/bin/perl
2    
3     ## ------------------------------------------------------------------------
4 joko 1.4 ## $Id: File.pm,v 1.3 2003/02/09 04:54:27 joko Exp $
5 joko 1.3 ## ------------------------------------------------------------------------
6 joko 1.4 ## $Log: File.pm,v $
7     ## Revision 1.3 2003/02/09 04:54:27 joko
8     ## - refactored lots of code to Data::Storage::Handler::File::Basic
9     ## - sorry!
10     ##
11 joko 1.3 ## ------------------------------------------------------------------------
12    
13    
14 joko 1.1 package Data::Storage::Handler::File;
15    
16     use strict;
17     use warnings;
18    
19 joko 1.3 use base qw( DesignPattern::Object );
20    
21 joko 1.1
22 joko 1.3 use Data::Storage::Handler::File::Basic qw( s2f a2f f2s );
23    
24     sub _read {
25     my $self = shift;
26     $self->{_buffer_orig} = f2s($self->{path});
27     $self->{_buffer} = f2s($self->{path});
28 joko 1.1 }
29    
30 joko 1.3 sub toString {
31     my $self = shift;
32     $self->_read();
33     return $self->{_buffer};
34     }
35 joko 1.1
36 joko 1.3 sub addSuffix {
37     my $self = shift;
38     my $suffix = shift;
39     $self->{path} .= ".$suffix";
40 joko 1.1 }
41    
42 joko 1.3 sub save {
43     my $self = shift;
44     if ($self->{_buffer}) {
45     s2f($self->{path}, $self->{_buffer});
46     } else {
47     print "please load $self->{path} before saving.", "\n";
48 joko 1.1 }
49     }
50    
51 joko 1.3 sub backup {
52     my $self = shift;
53     my $options = shift;
54     my $path = $self->{path};
55     $path .= '.' . $options->{suffix} if $options->{suffix};
56     s2f($path, $self->{_buffer_orig});
57     }
58 joko 1.1
59 joko 1.3 sub matches {
60     my $self = shift;
61     my $pattern = shift;
62     $self->_read();
63     my $eval = '$self->{_buffer} =~ ' . $pattern . ';';
64     if (eval($eval)) { return 1; }
65 joko 1.1 }
66    
67 joko 1.3 1;
68     __END__

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed