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

FreeBSD Manual Pages

  
 
  

home | help
Dancer::Config::ObjectUser Contributed Perl DocumentaDancer::Config::Object(3)

NAME
       Dancer::Config::Object -	Access the config via methods instead of
       hashrefs

VERSION
       version 1.3202

DESCRIPTION
       If "strict_config" is set to a true value in the	configuration, the
       "config()" subroutine will return an object instead of a	hashref.
       Instead of this:

	my $serializer = config->{serializer};
	my $username   = config->{auth}{username};

       You get this:

	my $serializer = config->serializer;
	my $username   = config->auth->username;

       This helps to prevent typos. If you mistype a configuration name:

	my $pass = config->auth->pass;

       An exception will be thrown, tell you it	can't find the method name,
       but listing available methods:

	Can't locate config attribute "pass".
	Available attributes: password,	username

       If the hash key cannot be converted into	a proper method	name, you can
       still access it via a hash reference:

	my $some_value = config->{'99_bottles'};

       And call	methods	on it, if possible:

	my $sadness = config->{'99_more_bottles'}->last_bottle;

       Hash keys pointing to hash references will in turn have those
       "objectified".  Arrays will still be returned as	array references.
       However,	hashrefs inside	of the array refs may still have their keys
       allowed as methods:

	my $some_value = config->some_list->[1]->host;

METHOD NAME DEFINITION
       We use the following regular expression to determine if a hash key
       qualifies as a method:

	/^[[:alpha:]_][[:word:]]*$/;
				_
       Note that this means "naA ve" (note the dots over the i)	can be a
       method name, but	unless you "use	utf8;" to declare that your source
       code is UTF-_, you may have disappointing results calling
       "config->naA ve". Further, depending on your version of Perl and	the
       software	to read	your config file ... well, you get the idea. We
       recommend sticking with ASCII identifiers if you	wish your code to be
       portable.

       Patches/suggestions welcome.

AUTHOR
       This module has been written by Alexis Sukrieh <sukria@cpan.org>	and
       others, see the AUTHORS file that comes with this distribution for
       details.

LICENSE
       This module is free software and	is released under the same terms as
       Perl itself.

SEE ALSO
       Dancer and Dancer::Config.

AUTHOR
       Dancer Core Developers

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2010 by Alexis Sukrieh.

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

perl v5.24.1			  2015-11-07	     Dancer::Config::Object(3)

NAME | VERSION | DESCRIPTION | METHOD NAME DEFINITION | AUTHOR | LICENSE | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

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

home | help