X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=site_perl%2FConf.pm;h=9cc0d900e0116116720832f2de174542bf71e8c7;hb=8f4617e35f89b741b8ab5ba9136667b4c877d992;hp=d3ef307c0d7c48eeb72b16561f6a8a24a92e1a14;hpb=cad4eadf964cb65841d7cb6f0bcf804f1d39ae2c;p=freeside.git diff --git a/site_perl/Conf.pm b/site_perl/Conf.pm index d3ef307c0..9cc0d900e 100644 --- a/site_perl/Conf.pm +++ b/site_perl/Conf.pm @@ -3,8 +3,6 @@ package FS::Conf; use vars qw($default_dir); use IO::File; -$default_dir='/var/spool/freeside/conf'; - =head1 NAME FS::Conf - Read access to Freeside configuration values @@ -13,8 +11,10 @@ FS::Conf - Read access to Freeside configuration values use FS::Conf; + $conf = new FS::Conf "/config/directory"; + + $FS::Conf::default_dir = "/config/directory"; $conf = new FS::Conf; - $conf = new FS::Conf "/non/standard/config/directory"; $dir = $conf->dir; @@ -33,8 +33,8 @@ but this may change in the future. =item new [ DIRECTORY ] -Create a new configuration object. Optionally, a non-default directory may -be specified. +Create a new configuration object. A directory arguement is required if +$FS::Conf::default_dir has not been set. =cut @@ -53,7 +53,12 @@ Returns the directory. sub dir { my($self) = @_; - $self->{dir}; + my $dir = $self->{dir}; + -e $dir or die "FATAL: $dir doesn't exist!"; + -d $dir or die "FATAL: $dir isn't a directory!"; + -r $dir or die "FATAL: Can't read $dir!"; + -x $dir or die "FATAL: $dir not searchable (executable)!"; + $dir; } =item config @@ -94,8 +99,6 @@ sub exists { =head1 BUGS -The option to specify a non-default directory should probably be removed. - Write access (with locking) should be implemented. =head1 SEE ALSO @@ -108,6 +111,14 @@ Ivan Kohler 98-sep-6 sub exists forgot to fetch $dir ivan@sisd.com 98-sep-27 +$Log: Conf.pm,v $ +Revision 1.3 1999-03-29 01:29:33 ivan +die unless the configuration directory exists + +Revision 1.2 1998/11/13 04:08:44 ivan +no default default_dir (ironic) + + =cut 1;