README 0.01
Brandon L Black [Tue, 18 Dec 2007 23:13:21 +0000 (23:13 +0000)]
README

diff --git a/README b/README
index e69de29..c98e52a 100644 (file)
--- 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, <blblack@gmail.com>
+
+LICENSE
+    This library is free software; you can redistribute it and/or modify it
+    under the same terms as Perl itself.
+