NAME
Net::NSCA::Client::Utils - Utility functions for Net::NSCA::Client
VERSION
This documentation refers to version 0.009002
DESCRIPTION
This module provides utilities for use with Net::NSCA::Client modules and really shouldn't be used by other packages.
SYNOPSIS
use Net::NSCA::Client::Utils ();
# See each function for a synopsis of it
FUNCTIONS
initialize_moose_attr_early
This function takes three ordered arguments: $class
which is the string of the class the Moose class the attribute is being initialized in, $attr_name
which is the name of the attribute to initialize, and $args
which is the hash reference of the arguments to the constructor.
This function will return undef
if the attribute was not provided to the constructor (or if the actual attribute's value is undef
, in which case this function is useless for) or the actual (possibly coerced) value for that attribute. A typical invalid attribute passed to the constructor error will occur if the value is invalid.
# Used in a BUILDARGS modifier
around BUILDARGS => sub {
my ($original_method, $class, @args) = @_;
# Call the original method to get args HASHREF
my $args = $class->$original_method(@args);
if (defined(my $obj = _initialize_attr_early($class, obj => $args))) {
# The obj attribute was coerced and valudated and is defined
# Do something with $obj
}
return $args;
};
DEPENDENCIES
AUTHOR
Douglas Christopher Wilson, <doug at somethingdoug.com>
BUGS AND LIMITATIONS
Please report any bugs or feature requests to bug-net-nsca-client at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-NSCA-Client. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
I highly encourage the submission of bugs and enhancements to my modules.
LICENSE AND COPYRIGHT
Copyright 2009 Douglas Christopher Wilson.
This program is free software; you can redistribute it and/or modify it under the terms of either:
the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
the Artistic License version 2.0.