From: Brandon L Black Date: Tue, 18 Dec 2007 23:13:21 +0000 (+0000) Subject: README X-Git-Tag: 0.01^0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=98f0550c6db07a5c6ed07e1dfb1035d8ebdfccf0;p=gitmo%2FMooseX-SimpleConfig.git README --- diff --git a/README b/README index e69de29..c98e52a 100644 --- a/README +++ b/README @@ -0,0 +1,87 @@ +NAME + MooseX::SimpleConfig - A Moose role for setting attributes from a simple + configfile + +SYNOPSIS + ## A YAML configfile named /etc/my_app.yaml: + foo: bar + baz: 123 + + ## In your class + package My::App; + use Moose; + + with 'MooseX::SimpleConfig'; + + has 'foo' => (is => 'ro', isa => 'Str', required => 1); + has 'baz' => (is => 'rw', isa => 'Int', required => 1); + + # ... rest of the class here + + ## in your script + #!/usr/bin/perl + + use My::App; + + my $app = My::App->new_with_config(configfile => '/etc/my_app.yaml'); + # ... rest of the script here + + #################### + ###### combined with MooseX::Getopt: + + ## In your class + package My::App; + use Moose; + + with 'MooseX::SimpleConfig'; + with 'MooseX::Getopt'; + + has 'foo' => (is => 'ro', isa => 'Str', required => 1); + has 'baz' => (is => 'rw', isa => 'Int', required => 1); + + # ... rest of the class here + + ## in your script + #!/usr/bin/perl + + use My::App; + + my $app = My::App->new_with_options(); + # ... rest of the script here + + ## on the command line + % perl my_app_script.pl -configfile /etc/my_app.yaml -otherthing 123 + +DESCRIPTION + This role loads simple configfiles to set object attributes. It is based + on the abstract role MooseX::ConfigFromFile, and uses Config::Any to + load your configfile. Config::Any will in turn support any of a variety + of different config formats, detected by the file extension. See + Config::Any for more details about supported formats. + + Like all MooseX::ConfigFromFile -derived configfile loaders, this module + is automatically supported by the MooseX::Getopt role as well, which + allows specifying "-configfile" on the commandline. + +ATTRIBUTES + configfile + Provided by the base role MooseX::ConfigFromFile. + +CLASS METHODS + new_with_config + Provided by the base role MooseX::ConfigFromFile. Acts just like regular + "new()", but also accepts an argument "configfile" to specify the + configfile from which to load other attributes. Explicit arguments to + "new_with_config" will override anything loaded from the configfile. + + get_config_from_file + Called internally by either "new_with_config" or MooseX::Getopt's + "new_with_options". Invokes Config::Any to parse "configfile". + +AUTHOR + Brandon L. Black, + +LICENSE + This library is free software; you can redistribute it and/or modify it + under the same terms as Perl itself. +