Jonathan Rockway

NAME

AnyEvent::Subprocess::Role::WithDelegates - paramaterized role consumed by classes that have delegates

VERSION

version 1.102912

DESCRIPTION

This role gives its consuming class the ability to have typed delegates. The type of the delegate is provide at application time via the type parameter.

Once applied, you get:

INITARGS

delegates

A list (arrayref) of delegates. A delegate can be an instance of a AnyEvent::Subprocess::Delegate class, a string (which will be resolved via AnyEvent::Subprocess::Role::WithDelegates::Manager, or a two-element hashref or arrayref of the delegate name and a hashref of delegate args. [ Name => { args } ] or { Name => { args } }. Name is treated like a string above, and the args are handled by the delegate's constructor or by the method supplied at delegate registration time. See AnyEvent::Subprocess::Role::WithDelegates::Manager for details.

METHODS

delegate($name)

Return the delegate named $name. Dies if there is no delegate by that name.

(This method is called by users of AnyEvent::Subprocess.)

_invoke_delegates($method, @args)

Invokes $delegate->$method($self, @args) on each delegate (in the order they were passed to the constructor). Returns a list of the return values of each delegate.

(This method is usually called internally by AnyEvent::Subprocess, not by end-users.)

SEE ALSO

AnyEvent::Subprocess

Delegate users:

AnyEvent::Subprocess::Job

AnyEvent::Subprocess::Running

AnyEvent::Subprocess::Done

AUTHOR

Jonathan Rockway <jrockway@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Jonathan Rockway.

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