pod fixes
[catagits/Catalyst-Plugin-ConfigLoader.git] / lib / Catalyst / Plugin / ConfigLoader / YAML.pm
CommitLineData
b2d85594 1package Catalyst::Plugin::ConfigLoader::YAML;\r
2\r
3use strict;\r
4use warnings;\r
5\r
6use File::Slurp;\r
7\r
8=head1 NAME\r
9\r
10Catalyst::Plugin::ConfigLoader::YAML - Load YAML config files\r
11\r
12=head1 DESCRIPTION\r
13\r
14Loads YAML files. Example:\r
15\r
16 ---\r
17 name: TestApp\r
c7413665 18 Controller::Foo:\r
b2d85594 19 foo: bar\r
20\r
21=head1 METHODS\r
22\r
c7413665 23=head2 extensions( )\r
24\r
25return an array of valid extensions (C<yml>, C<yaml>).\r
26\r
27=cut\r
28\r
29sub extensions {\r
30 return qw( yml yaml );\r
31}\r
32\r
b2d85594 33=head2 load( $file )\r
34\r
35Attempts to load C<$file> as a YAML file.\r
36\r
37=cut\r
38\r
39sub load {\r
c7413665 40 my $class = shift;\r
41 my $file = shift;\r
b2d85594 42\r
c7413665 43 eval { require YAML::Syck; };\r
44 if( $@ ) {\r
45 require YAML;\r
46 return YAML::LoadFile( $file );\r
b2d85594 47 }\r
48 else {\r
c7413665 49 my $content = read_file( $file );\r
50 return YAML::Syck::Load( $content );\r
b2d85594 51 }\r
52}\r
53\r
54=head1 AUTHOR\r
55\r
56=over 4 \r
57\r
58=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>\r
59\r
60=back\r
61\r
62=head1 COPYRIGHT AND LICENSE\r
63\r
64Copyright 2006 by Brian Cassidy\r
65\r
66This library is free software; you can redistribute it and/or modify\r
67it under the same terms as Perl itself. \r
68\r
69=head1 SEE ALSO\r
70\r
71=over 4 \r
72\r
73=item * L<Catalyst>\r
74\r
d6277728 75=item * L<Catalyst::Plugin::ConfigLoader>\r
c7413665 76\r
b2d85594 77=back\r
78\r
79=cut\r
80\r
811;