cvsuser     02/12/30 10:58:09

  Modified:    P5EEx/Blue/P5EEx/Blue Config.pm
               P5EEx/Blue/P5EEx/Blue/Config File.pm
  Log:
  sync
  
  Revision  Changes    Path
  1.5       +18 -3     p5ee/P5EEx/Blue/P5EEx/Blue/Config.pm
  
  Index: Config.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Config.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- Config.pm 5 Dec 2001 22:45:03 -0000       1.4
  +++ Config.pm 30 Dec 2002 18:58:09 -0000      1.5
  @@ -1,10 +1,10 @@
   
   #############################################################################
  -## $Id: Config.pm,v 1.4 2001/12/05 22:45:03 spadkins Exp $
  +## $Id: Config.pm,v 1.5 2002/12/30 18:58:09 spadkins Exp $
   #############################################################################
   
   package P5EEx::Blue::Config;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use P5EEx::Blue::P5EE;
   use P5EEx::Blue::Reference;
  @@ -12,7 +12,22 @@
   
   use strict;
   
  -# there are no methods for this class yet
  +sub create {
  +    my $self = shift;
  +
  +    my ($args, $conf);
  +    if ($#_ >= 0 && ref($_[0]) eq "HASH") {
  +        $args = $_[0];
  +    }
  +    elsif ($#_ >= 0 && $#_ % 2 == 1) {
  +        $args = { @_ };
  +    }
  +    else {
  +        $args = {};
  +    }
  +    $conf = $args->{config} || {};
  +    $conf;
  +}
   
   1;
   
  
  
  
  1.10      +89 -82    p5ee/P5EEx/Blue/P5EEx/Blue/Config/File.pm
  
  Index: File.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Config/File.pm,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -r1.9 -r1.10
  --- File.pm   16 Aug 2002 16:08:14 -0000      1.9
  +++ File.pm   30 Dec 2002 18:58:09 -0000      1.10
  @@ -1,10 +1,10 @@
   
   #############################################################################
  -## $Id: File.pm,v 1.9 2002/08/16 16:08:14 spadkins Exp $
  +## $Id: File.pm,v 1.10 2002/12/30 18:58:09 spadkins Exp $
   #############################################################################
   
   package P5EEx::Blue::Config::File;
  -$VERSION = do { my @r=(q$Revision: 1.9 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.10 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use P5EEx::Blue::P5EE;
   use P5EEx::Blue::Config;
  @@ -28,7 +28,7 @@
   
       local(*FILE);
   
  -    my ($file, $testfile, $confdir, @files, $filebase, $filetype, $scriptbase, 
$script);
  +    my ($file, $testfile, $confdir, $conf, @files, $filebase, $filetype, 
$scriptbase, $script);
       my ($serializer_class, $open);
   
       $file = $args->{configFile};
  @@ -70,8 +70,14 @@
           }
       }
   
  -    # no file specified: (rare)
       if (!$file) {
  +        # if a "configFile" was not specified, but a "config" is, use it
  +        # and don't even try to "autofind" a config file
  +        if ($args->{config}) {
  +            $conf = $args->{config};
  +        }
  +        else {
  +            $conf = {};  # this will be overridden if a config file is found
           CONFIGFILE: foreach $filetype qw(pl xml ini properties perl conf) {
               foreach $filebase ($scriptbase, "config") {
                   $testfile = ($confdir eq ".") ? "$filebase.$filetype" : 
"$confdir/$filebase.$filetype";
  @@ -82,11 +88,11 @@
                   }
               }
           }
  +            $args->{configFile} = $file if ($file);
  +        }
       }
   
       if ($file) {
  -        $args->{configFile} = $file;
  -    }
   
       # if a config file is specified, it must exist
       if (! open(main::FILE,"< $file")) {
  @@ -95,7 +101,7 @@
           );
       }
   
  -    my (@text, $text, $conf);
  +        my (@text, $text);
       @text = <main::FILE>;
       close(main::FILE);
       $text = join("",@text);
  @@ -166,6 +172,7 @@
               P5EEx::Blue::Exception::Config->throw(
                   error => "create(): [$file] config text doesn't match '\$var = 
{...};'\n"
               );
  +            }
           }
       }
   
  
  
  


Reply via email to