ConfigLoader 0.04
[catagits/Catalyst-Plugin-ConfigLoader.git] / lib / Catalyst / Plugin / ConfigLoader / YAML.pm
index ec660bd..e16bce1 100644 (file)
@@ -3,7 +3,7 @@ package Catalyst::Plugin::ConfigLoader::YAML;
 use strict;\r
 use warnings;\r
 \r
-use File::Slurp;\r
+#use File::Slurp;\r
 \r
 =head1 NAME\r
 \r
@@ -15,11 +15,21 @@ Loads YAML files. Example:
 \r
     ---\r
     name: TestApp\r
-    Controller::Config:\r
+    Controller::Foo:\r
         foo: bar\r
 \r
 =head1 METHODS\r
 \r
+=head2 extensions( )\r
+\r
+return an array of valid extensions (C<yml>, C<yaml>).\r
+\r
+=cut\r
+\r
+sub extensions {\r
+    return qw( yml yaml );\r
+}\r
+\r
 =head2 load( $file )\r
 \r
 Attempts to load C<$file> as a YAML file.\r
@@ -27,30 +37,17 @@ Attempts to load C<$file> as a YAML file.
 =cut\r
 \r
 sub load {\r
-       my $class    = shift;\r
-       my $confpath = shift;\r
+    my $class = shift;\r
+    my $file  = shift;\r
 \r
-       my @files;\r
-    if( $confpath =~ /\.(.{3,4})$/ ) {\r
-        return unless $1 =~ /^ya?ml$/;\r
-        @files = $confpath;\r
+    eval { require YAML::Syck; };\r
+    if( $@ ) {\r
+        require YAML;\r
+        return YAML::LoadFile( $file );\r
     }\r
     else {\r
-        @files = map { "$confpath.$_" } qw( yml yaml );\r
-    }\r
-    \r
-    for my $file ( @files ) {\r
-        next unless -f $file;\r
-\r
-        eval { require YAML::Syck; };\r
-        if( $@ ) {\r
-            require YAML;\r
-            return YAML::LoadFile( $file );\r
-        }\r
-        else {\r
-            my $content = read_file( $file );\r
-            return YAML::Syck::Load( $content );\r
-        }\r
+        my $content = read_file( $file );\r
+        return YAML::Syck::Load( $content );\r
     }\r
 }\r
 \r
@@ -75,6 +72,8 @@ it under the same terms as Perl itself.
 \r
 =item * L<Catalyst>\r
 \r
+=item * L<Catalyst::Plugin::ConfigLoader>\r
+\r
 =back\r
 \r
 =cut\r