From: Brian Cassidy Date: Thu, 8 Nov 2007 13:39:45 +0000 (+0000) Subject: auto generate README X-Git-Tag: v0.09_01~10 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e23825ecd2eaaeba8d95b59317a5b78f3c4924bf;p=p5sagit%2FConfig-Any.git auto generate README --- diff --git a/Makefile.PL b/Makefile.PL index bdff64a..ac459ef 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,4 +1,8 @@ -use inc::Module::Install 0.65; +use inc::Module::Install 0.68; + +if( -e 'MANIFEST.SKIP' ) { + system( 'pod2text lib/Config/Any.pm > README' ); +} name 'Config-Any'; all_from 'lib/Config/Any.pm'; @@ -6,7 +10,7 @@ all_from 'lib/Config/Any.pm'; requires 'Module::Pluggable' => '3.01'; requires 'version'; -requires 'Test::More'; +test_requires 'Test::More'; auto_install; WriteAll; diff --git a/README b/README deleted file mode 100644 index 132ee9c..0000000 --- a/README +++ /dev/null @@ -1,170 +0,0 @@ -NAME - Config::Any - Load configuration from different file formats, - transparently - -VERSION - This document describes Config::Any version 0.0.8 - -SYNOPSIS - use Config::Any; - - my $cfg = Config::Any->load_stems({stems => \@filepath_stems, ... }); - # or - my $cfg = Config::Any->load_files({files => \@filepaths, ... }); - - for (@$cfg) { - my ($filename, $config) = each %$_; - $class->config($config); - warn "loaded config from file: $filename"; - } - -DESCRIPTION - Config::Any provides a facility for Perl applications and libraries to - load configuration data from multiple different file formats. It - supports XML, YAML, JSON, Apache-style configuration, Windows INI files, - and even Perl code. - - The rationale for this module is as follows: Perl programs are deployed - on many different platforms and integrated with many different systems. - Systems administrators and end users may prefer different configuration - formats than the developers. The flexibility inherent in a multiple - format configuration loader allows different users to make different - choices, without generating extra work for the developers. As a - developer you only need to learn a single interface to be able to use - the power of different configuration formats. - -INTERFACE - load_files( ) - Config::Any->load_files({files => \@files}); - Config::Any->load_files({files => \@files, filter => \&filter}); - Config::Any->load_files({files => \@files, use_ext => 1}); - - "load_files()" attempts to load configuration from the list of files - passed in the "files" parameter, if the file exists. - - If the "filter" parameter is set, it is used as a callback to modify the - configuration data before it is returned. It will be passed a single - hash-reference parameter which it should modify in-place. - - If the "use_ext" parameter is defined, the loader will attempt to parse - the file extension from each filename and will skip the file unless it - matches a standard extension for the loading plugins. Only plugins whose - standard extensions match the file extension will be used. For - efficiency reasons, its use is encouraged, but be aware that you will - lose flexibility -- for example, a file called "myapp.cfg" containing - YAML data will not be offered to the YAML plugin, whereas "myapp.yml" or - "myapp.yaml" would be. - - "load_files()" also supports a 'force_plugins' parameter, whose value - should be an arrayref of plugin names like "Config::Any::INI". Its - intended use is to allow the use of a non-standard file extension while - forcing it to be offered to a particular parser. It is not compatible - with 'use_ext'. - - You can supply a "driver_args" hashref to pass special options to a - particular parser object. Example: - - Config::Any->load_files( { files => \@files, driver_args => { - General => { -LowerCaseNames => 1 } - } ) - - load_stems( ) - Config::Any->load_stems({stems => \@stems]}); - Config::Any->load_stems({stems => \@stems, filter => \&filter}); - Config::Any->load_stems({stems => \@stems, use_ext => 1}); - - "load_stems()" attempts to load configuration from a list of files which - it generates by combining the filename stems list passed in the "stems" - parameter with the potential filename extensions from each loader, which - you can check with the "extensions()" classmethod described below. Once - this list of possible filenames is built it is treated exactly as in - "load_files()" above, as which it takes the same parameters. Please read - the "load_files()" documentation before using this method. - - finder( ) - The "finder()" classmethod returns the Module::Pluggable::Object object - which is used to load the plugins. See the documentation for that module - for more information. - - plugins( ) - The "plugins()" classmethod returns the names of configuration loading - plugins as found by Module::Pluggable::Object. - - extensions( ) - The "extensions()" classmethod returns the possible file extensions - which can be loaded by "load_stems()" and "load_files()". This may be - useful if you set the "use_ext" parameter to those methods. - -DIAGNOSTICS - "no files specified" or "no stems specified" - The "load_files()" and "load_stems()" methods will issue this - warning if called with an empty list of files/stems to load. - - "_load requires a arrayref of file paths" - This fatal error will be thrown by the internal "_load" method. It - should not occur but is specified here for completeness. If your - code dies with this error, please email a failing test case to the - authors below. - -CONFIGURATION AND ENVIRONMENT - Config::Any requires no configuration files or environment variables. - -DEPENDENCIES - Module::Pluggable - - And at least one of the following: Config::General Config::Tiny JSON - YAML JSON::Syck YAML::Syck XML::Simple - -INCOMPATIBILITIES - None reported. - -BUGS AND LIMITATIONS - No bugs have been reported. - - Please report any bugs or feature requests to - "bug-config-any@rt.cpan.org", or through the web interface at - . - -AUTHOR - Joel Bernstein - -CONTRIBUTORS - This module was based on the original Catalyst::Plugin::ConfigLoader - module by Brian Cassidy "". - - With ideas and support from Matt S Trout "". - - Further enhancements suggested by Evan Kaufman "". - -LICENCE AND COPYRIGHT - Copyright (c) 2006, Portugal Telecom "http://www.sapo.pt/". All rights - reserved. Portions copyright 2007, Joel Bernstein "". - - This module is free software; you can redistribute it and/or modify it - under the same terms as Perl itself. See perlartistic. - -DISCLAIMER OF WARRANTY - BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY - FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN - OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES - PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER - EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE - ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH - YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL - NECESSARY SERVICING, REPAIR, OR CORRECTION. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR - REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE - TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE - SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING - RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A - FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF - SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - DAMAGES. - -SEE ALSO - Catalyst::Plugin::ConfigLoader -- now a wrapper around this module. -