better version for Config::General
[p5sagit/Config-Any.git] / lib / Config / Any / General.pm
index 0b39af2..5c697e9 100644 (file)
@@ -2,6 +2,9 @@ package Config::Any::General;
 
 use strict;
 use warnings;
+use Carp;
+
+use base 'Config::Any::Base';
 
 =head1 NAME
 
@@ -14,6 +17,7 @@ Loads Config::General files. Example:
     name = TestApp
     <Component Controller::Foo>
         foo bar
+        bar [ arrayref-value ]
     </Component>
     <Model Baz>
         qux xyzzy
@@ -48,6 +52,10 @@ sub load {
     $args->{ -ConfigFile } = $file;
 
     require Config::General;
+    Config::General->VERSION('2.47');
+
+    $args->{ -ForceArray } = 1 unless exists $args->{ -ForceArray };
+
     my $configfile = Config::General->new( %$args );
     my $config     = { $configfile->getall };
 
@@ -68,25 +76,25 @@ sub _test_perl {
     return defined $is_perl_src;
 }
 
-=head1 AUTHOR
+=head2 requires_all_of( )
 
-=over 4 
+Specifies that this module requires L<Config::General> in order to work.
 
-=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>
+=cut
 
-=back
+sub requires_all_of { [ 'Config::General' ] }
 
-=head1 CONTRIBUTORS
+=head1 AUTHOR
 
-=over 4
+Brian Cassidy E<lt>bricas@cpan.orgE<gt>
 
-=item * Joel Bernstein C<< <rataxis@cpan.org> >>
+=head1 CONTRIBUTORS
 
-=back
+Joel Bernstein C<< <rataxis@cpan.org> >>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2006 by Brian Cassidy
+Copyright 2006-2010 by Brian Cassidy
 
 Portions Copyright 2006 Portugal Telecom