[Catalyst-commits] r6721 - in trunk/Config-Any/lib/Config: . Any
bricas at dev.catalyst.perl.org
bricas at dev.catalyst.perl.org
Wed Aug 22 21:08:30 GMT 2007
Author: bricas
Date: 2007-08-22 21:08:30 +0100 (Wed, 22 Aug 2007)
New Revision: 6721
Modified:
trunk/Config-Any/lib/Config/Any.pm
trunk/Config-Any/lib/Config/Any/General.pm
Log:
pass special config options to loaders
Modified: trunk/Config-Any/lib/Config/Any/General.pm
===================================================================
--- trunk/Config-Any/lib/Config/Any/General.pm 2007-08-22 20:07:53 UTC (rev 6720)
+++ trunk/Config-Any/lib/Config/Any/General.pm 2007-08-22 20:08:30 UTC (rev 6721)
@@ -40,12 +40,15 @@
sub load {
my $class = shift;
my $file = shift;
+ my $args = shift || {};
# work around bug (?) in Config::General
# return if $class->_test_perl($file);
+ $args->{-ConfigFile} = $file;
+
require Config::General;
- my $configfile = Config::General->new( $file );
+ my $configfile = Config::General->new( %$args );
my $config = { $configfile->getall };
return $config;
Modified: trunk/Config-Any/lib/Config/Any.pm
===================================================================
--- trunk/Config-Any/lib/Config/Any.pm 2007-08-22 20:07:53 UTC (rev 6720)
+++ trunk/Config-Any/lib/Config/Any.pm 2007-08-22 20:08:30 UTC (rev 6721)
@@ -6,7 +6,7 @@
use Module::Pluggable::Object ();
use English qw(-no_match_vars);
-our $VERSION = '0.07';
+our $VERSION = '0.08';
=head1 NAME
@@ -14,7 +14,7 @@
=head1 VERSION
-This document describes Config::Any version 0.0.7
+This document describes Config::Any version 0.0.8
=head1 SYNOPSIS
@@ -85,7 +85,7 @@
}
my %load_args = map { $_ => defined $args->{$_} ? $args->{$_} : undef }
- qw(filter use_ext force_plugins);
+ qw(filter use_ext force_plugins driver_args);
$load_args{files} = [ grep { -f $_ } @{$args->{files}} ];
return $class->_load(\%load_args);
}
@@ -163,6 +163,9 @@
last unless keys %files;
my %ext = _maphash $loader->extensions;
+ my ($loader_class) = $loader =~ /::([^:]+)$/;
+ my $driver_args = $args->{driver_args}{$loader_class} || {};
+
FILE:
for my $filename (keys %files) {
# use file extension to decide whether this loader should try this file
@@ -181,7 +184,7 @@
my $config;
eval {
- $config = $loader->load( $filename );
+ $config = $loader->load( $filename, $driver_args );
};
next if $EVAL_ERROR; # if it croaked or warned, we can't use it
More information about the Catalyst-commits
mailing list