git-svn-id: https://perl-cwmp.googlecode.com/svn/branches/store-pluggable@139
836a5e1a-633d-0410-964b-
294494ad4392
use DBM::Deep;
use Data::Dump qw/dump/;
use DBM::Deep;
use Data::Dump qw/dump/;
sub open {
my $self = shift;
sub open {
my $self = shift;
- warn "open ",dump( @_ );
+ $debug = $args->{debug};
+ my $path = $args->{path} || confess "no path?";
+
+ warn "open ",dump( $args ) if $debug;
+
+ $path = "$path/state.db" if ( -d $args->{path} );
$db = DBM::Deep->new(
file => $path,
locking => 1,
autoflush => 1,
$db = DBM::Deep->new(
file => $path,
locking => 1,
autoflush => 1,
+ ) || confess "can't open $path: $!";
use Data::Dump qw/dump/;
use YAML qw/LoadFile DumpFile/;
use Hash::Merge qw/merge/;
use Data::Dump qw/dump/;
use YAML qw/LoadFile DumpFile/;
use Hash::Merge qw/merge/;
my $debug = 1;
sub open {
my $self = shift;
my $debug = 1;
sub open {
my $self = shift;
- warn "open ",dump( @_ );
- if ( ! -e $dir ) {
- mkdir $dir || die "can't create $dir: $!";
- warn "created $dir directory\n";
+ $debug = $args->{debug};
+ $path = $args->{path} || confess "no path?";
+
+ warn "open ",dump( $args ) if $debug;
+
+ $path = "$path/yaml";
+
+ if ( ! -e $path ) {
+ mkdir $path || die "can't create $path: $!";
+ warn "created $path directory\n";
sub update_uid_state {
my ( $self, $uid, $state ) = @_;
sub update_uid_state {
my ( $self, $uid, $state ) = @_;
- my $file = "$dir/$uid.yml";
+ my $file = "$path/$uid.yml";
my $old_state = $self->get_state( $uid );
my $old_state = $self->get_state( $uid );
sub get_state {
my ( $self, $uid ) = @_;
sub get_state {
my ( $self, $uid ) = @_;
- my $file = "$dir/$uid.yml";
+ my $file = "$path/$uid.yml";
if ( -e $file ) {
return LoadFile( $file );
if ( -e $file ) {
return LoadFile( $file );
sub all_uids {
my $self = shift;
sub all_uids {
my $self = shift;
- opendir(my $d, $dir) || die "can't opendir $dir: $!";
- my @uids = grep { /\.yml$/ && -f "$dir/$_" } readdir($d);
+ opendir(my $d, $path) || die "can't opendir $path: $!";
+ my @uids = grep { /\.yml$/ && -f "$path/$_" } readdir($d);
closedir $d;
return map { my $l = $_; $l =~ s/\.yml$//; $l } @uids;
closedir $d;
return map { my $l = $_; $l =~ s/\.yml$//; $l } @uids;
ok(my $abs_path = abs_path($0), "abs_path");
$abs_path =~ s!/[^/]*$!/!; #!fix-vim
ok(my $abs_path = abs_path($0), "abs_path");
$abs_path =~ s!/[^/]*$!/!; #!fix-vim
-my $path = "$abs_path/var/state.db";
+my $path = "$abs_path/var/";
unlink $path if -e $path;
unlink $path if -e $path;