MooseX::ConfigFromFile man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

MooseX::ConfigFromFileUser Contributed Perl DocumentaMooseX::ConfigFromFile(3)

NAME
       MooseX::ConfigFromFile - An abstract Moose role for setting attributes
       from a configfile

SYNOPSIS
	 ########
	 ## A real role based on this abstract role:
	 ########

	 package MooseX::SomeSpecificConfigRole;
	 use Moose::Role;

	 with 'MooseX::ConfigFromFile';

	 use Some::ConfigFile::Loader ();

	 sub get_config_from_file {
	   my ($class, $file) = @_;

	   my $options_hashref = Some::ConfigFile::Loader->load($file);

	   return $options_hashref;
	 }

	 ########
	 ## A class that uses it:
	 ########
	 package Foo;
	 use Moose;
	 with 'MooseX::SomeSpecificConfigRole';

	 # optionally, default the configfile:
	 sub configfile { '/tmp/foo.yaml' }

	 # ... insert your stuff here ...

	 ########
	 ## A script that uses the class with a configfile
	 ########

	 my $obj = Foo->new_with_config(configfile => '/etc/foo.yaml', other_opt => 'foo');

DESCRIPTION
       This is an abstract role which provides an alternate constructor for
       creating objects using parameters passed in from a configuration file.
       The actual implementation of reading the configuration file is left to
       concrete subroles.

       It declares an attribute "configfile" and a class method
       "new_with_config", and requires that concrete roles derived from it
       implement the class method "get_config_from_file".

       Attributes specified directly as arguments to "new_with_config"
       supercede those in the configfile.

       MooseX::Getopt knows about this abstract role, and will use it if
       available to load attributes from the file specified by the commandline
       flag "--configfile" during its normal "new_with_options".

Attributes
   configfile
       This is a Path::Class::File object which can be coerced from a regular
       pathname string.	 This is the file your attributes are loaded from.
       You can add a default configfile in the class using the role and it
       will be honored at the appropriate time:

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

       Note that you can alternately just provide a "configfile" method which
       returns the config file when called - this will be used in preference
       to the default of the attribute.

Class Methods
   new_with_config
       This is an alternate constructor, which knows to look for the
       "configfile" option in its arguments and use that to set attributes.
       It is much like MooseX::Getopts's "new_with_options".  Example:

	 my $foo = SomeClass->new_with_config(configfile => '/etc/foo.yaml');

       Explicit arguments will overide anything set by the configfile.

   get_config_from_file
       This class method is not implemented in this role, but it is required
       of all subroles.	 Its two arguments are the classname and the
       configfile, and it is expected to return a hashref of arguments to pass
       to "new()" which are sourced from the configfile.

COPYRIGHT
       Copyright (c) 2007 - 2009 the MooseX::ConfigFromFile "AUTHOR" and
       "CONTRIBUTORS" as listed below.

AUTHOR
       Brandon L. Black, <blblack@gmail.com>

CONTRIBUTORS
       Tomas Doran "<bobtfish@bobtfish.net>" (current maintainer).
       Karen Etheridge
       Chris Prather
       Zbigniew Lukasiak

LICENSE
       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.14.1			  2010-12-16	     MooseX::ConfigFromFile(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net