Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MooseX::SimpleConfig(3User Contributed Perl DocumentatiMooseX::SimpleConfig(3)

NAME
       MooseX::SimpleConfig - A	Moose role for setting attributes from a
       simple configuration file

VERSION
       version 0.11

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 files to set object attributes.  It is based on
       the abstract role MooseX::ConfigFromFile, and uses Config::Any to load
       your configuration file.	 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.

       To pass additional arguments to Config::Any you must provide a
       "config_any_args()" method, for example:

	 sub config_any_args {
	   return {
	     driver_args => { General => { '-InterPolateVars' => 1 } }
	   };
	 }

       Like all	MooseX::ConfigFromFile -derived	file loaders, this module is
       automatically supported by the MooseX::Getopt role as well, which
       allows specifying "-configfile" on the command line.

ATTRIBUTES
   configfile
       Provided	by the base role MooseX::ConfigFromFile.  You can provide a
       default configuration file pathname like	so:

	 has '+configfile' => (	default	=> '/etc/myapp.yaml' );

       You can pass an array of	filenames if you want, but as usual the	array
       has to be wrapped in a sub ref.

	 has '+configfile' => (	default	=> sub { [ '/etc/myapp.yaml', '/etc/myapp_local.yml' ] } );

       Config files are	trivially merged at the	top level, with	the right-hand
       files taking precedence.

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 file	from which to load other attributes.  Explicit arguments to
       "new_with_config" will override anything	loaded from the	file.

   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>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2007 by Brandon L. Black
       <blblack@gmail.com>.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

CONTRIBUTORS
       o   Karen Etheridge <ether@cpan.org>

       o   Tomas Doran <bobtfish@bobtfish.net>

       o   Brandon L Black <blblack@gmail.com>

       o   Alexander Hartmaier <alex.hartmaier@gmail.com>

       o   lestrrat <lestrrat+github@gmail.com>

       o   Dh!Dh<micro>NDh^3Dh<micro>Dh^1
	   Dh Dh3/4Dh1/4Dh<degree>Dh1/2Dh3/4Dh^2 <sromanov@cpan.org>

       o   Yuval Kogman	<nothingmuch@woobling.org>

       o   Zbigniew Lukasiak <zby@cpan.org>

       o   Alex	Howarth	<alex.howarth@gmail.com>

perl v5.32.0			  2014-11-16	       MooseX::SimpleConfig(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | ATTRIBUTES | CLASS METHODS | AUTHOR | COPYRIGHT AND LICENSE | CONTRIBUTORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooseX::SimpleConfig&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help