1 # Dobrica Pavlinusic, <dpavlin@rot13.org> 10/26/07 21:37:12 CEST
2 package CWMP::Store::YAML;
7 use Data::Dump qw/dump/;
8 use YAML qw/LoadFile DumpFile/;
12 CWMP::Store::YAML - use YAML as storage
27 warn "open ",dump( @_ );
30 mkdir $dir || die "can't create $dir: $!";
31 warn "created $dir directory\n";
36 =head2 update_uid_state
38 $store->update_uid_state( $uid, $state );
42 sub update_uid_state {
43 my ( $self, $uid, $state ) = @_;
45 my $file = "$dir/$uid.yml";
47 DumpFile( $file, $state ) || die "can't write $file: $!";
53 $store->get_state( $uid );
58 my ( $self, $uid ) = @_;
60 my $file = "$dir/$uid.yml";
63 return LoadFile( $file );
71 my @uids = $store->all_uids;
78 opendir(my $d, $dir) || die "can't opendir $dir: $!";
79 my @uids = grep { /\.yml$/ && -f "$dir/$_" } readdir($d);
82 return map { s/\.yml$// } @uids;