The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.