Author: dylan
Date: 2005-05-07 21:41:27 -0400 (Sat, 07 May 2005)
New Revision: 673

Removed:
   trunk/main/core/t/003_logger.t
Modified:
   trunk/
   trunk/main/core/lib/Haver/Base.pm
   trunk/main/core/lib/Haver/Config.pm
   trunk/main/core/t/001_config.t
Log:
 [EMAIL PROTECTED]:  dylan | 2005-05-07 21:35:48 -0400
 Haver::Base fixups. Haver::Config uses Haver::Base now.
 Removed useless test.
 Fixed 001_config.t to run.



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:938
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238
   + 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:939
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238

Modified: trunk/main/core/lib/Haver/Base.pm
===================================================================
--- trunk/main/core/lib/Haver/Base.pm   2005-05-08 01:41:23 UTC (rev 672)
+++ trunk/main/core/lib/Haver/Base.pm   2005-05-08 01:41:27 UTC (rev 673)
@@ -14,7 +14,7 @@
         no warnings;
         local *boolean_arguments = sub { (qw( -weak -force )) };
         local *paired_arguments = sub { (qw(  -package -init )) };
-        Haver::Server::Base->parse_arguments(@_);
+        Haver::Base->parse_arguments(@_);
     };
     my ($field, $default) = @values;
     if (my $sub = $package->can($field) and not $args->{'-force'}) {

Modified: trunk/main/core/lib/Haver/Config.pm
===================================================================
--- trunk/main/core/lib/Haver/Config.pm 2005-05-08 01:41:23 UTC (rev 672)
+++ trunk/main/core/lib/Haver/Config.pm 2005-05-08 01:41:27 UTC (rev 673)
@@ -1,62 +1,40 @@
 # vim: set ts=4 sw=4 expandtab si ai sta tw=100:
 # This module is copyrighted, see end of file for details.
 package Haver::Config;
-use strict;
-use warnings;
-
-use Haver::Object;
-use base 'Haver::Object';
+use Haver::Base '-Base';
 use Scalar::Util 'reftype';
-use Carp;
+
 use YAML ();
+our $VERSION = 0.10;
 
-our $VERSION = 0.08;
+field 'file';
+field 'config'  => {};
+field 'default' => {};
 
-sub initialize {
-    my ($me, $p) = @_;
 
-    foreach my $field (qw( default file )) {
-        if (exists $p->{$field}) {
-            carp "the parameter $field is DEPRECATED. Use -$field instead!";
-            $p->{"-$field"} = delete $p->{$field};
-        }
-    }
-
-    $me->{default} = delete $p->{'-default'} || {};
-
-    if ($p->{'-file'}) {
-        $me->load(delete $p->{'-file'});
-    }
+sub initialize {
+    my $file    = $self->{file};
+    my $config  = -e $file ? YAML::LoadFile($file) : {};
+    $self->{config} = merge_hash($config, $self->{default} || {});
 }
 
-sub load {
-    my ($me, $file) = @_;
-    my $config;
 
-    if (-e $file) {
-        $config = YAML::LoadFile($file);
-    } else {
-        $config = {};
-    }
+sub load() {
+    my ($this, $file, $def) = @_;
+    my $self = $this->new(
+        file    => $file,
+        default => $def,
+    );
     
-    $me->{config} = merge_hash($config, $me->{default});
+    return $self;
 }
 
 sub save {
-    my ($me, $file) = @_;
-    $file ||= $me->{file};
-
-    YAML::DumpFile($file, $me->{config});
+    YAML::DumpFile($self->{file}, $self->{config});
 }
 
-sub config {
-    my ($me) = @_;
-    
-    $me->{config};
-}
-
 # Author: bdonlan
-sub merge_struct {
+sub merge_struct ($$) {
        # ASSERT: @_ == 2;
        my ($left, $right) = @_;
        my $func = "merge_struct(\$left,\$right):";
@@ -78,7 +56,7 @@
 }
 
 # Author: bdonlan
-sub merge_hash {
+sub merge_hash ($$) {
        croak 'merge_hash($a,$b): $a and $b must be hashes!' 
         unless reftype($_[0]) eq 'HASH' and reftype($_[1]) eq 'HASH';
        my ($left, $right) = @_;
@@ -94,7 +72,7 @@
 }
 
 # Author: bdonlan
-sub merge_array {
+sub merge_array ($$) {
     croak 'merge_array($a, $b): $a and $b must be arrays!'
         unless reftype($_[0]) eq 'ARRAY' and reftype($_[1]) eq 'ARRAY';
        my ($left, $right) = @_;
@@ -102,11 +80,6 @@
 }
 
 
-
-1;
-
-
-1;
 __END__
 
 =head1 NAME
@@ -117,8 +90,8 @@
 
     use Haver::Config;
     my $ch = new Haver::Config(
-        -file => "$ENV{HOME}/.myconfigfile",
-        -default => {
+        file => "$ENV{HOME}/.myconfigfile",
+        default => {
             name => $ENV{USER},
             stuff => [1,2,3],
         },

Modified: trunk/main/core/t/001_config.t
===================================================================
--- trunk/main/core/t/001_config.t      2005-05-08 01:41:23 UTC (rev 672)
+++ trunk/main/core/t/001_config.t      2005-05-08 01:41:27 UTC (rev 673)
@@ -14,8 +14,8 @@
 
 my $d = 
 my $ch = new Haver::Config (
-    -file => 'foobar',
-    -default => {
+    file => 'foobar',
+    default => {
         stuff => {
             monkeys => 2,
         },

Deleted: trunk/main/core/t/003_logger.t
===================================================================
--- trunk/main/core/t/003_logger.t      2005-05-08 01:41:23 UTC (rev 672)
+++ trunk/main/core/t/003_logger.t      2005-05-08 01:41:27 UTC (rev 673)
@@ -1,19 +0,0 @@
-#!/usr/bin/perl
-# vim: set ft=perl:
-
-use strict;
-use Test::More tests => 2;
-BEGIN {
-       use_ok('Haver::Logger');
-};
-
-#########################
-
-eval { new Haver::Logger };
-if ($@) {
-    pass("new is a fatal error.");
-} else {
-    fail("new is not a fatal error!");
-}
-
-


Reply via email to