Douglas Christopher Wilson > Net-NSCA-Client > Net::NSCA::Client::Utils

Download:
Net-NSCA-Client-0.009002.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.009002   Source  

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:

syntax highlighting: