Manual Reference Pages - ANYEVENT::SUBPROCESS::ROLE::WITHDELEGATES::MANAGER (3)
AnyEvent::Subprocess::Role::WithDelegates::Manager - manage delegate shortcuts
Creating an instance of a delegate to pass to
AnyEvent::Subprocesss constructor is tedious. This module maps
sugary names to builders of delegate objects, so that the user can say
Foo instead of AnyEvent::Subprocess::Job::Delegate::Foo->new.
If you are writing a delegate for AnyEvent::Subprocess, simply call
register_delegate in your module. When the users uses your
module, the sugary name will become available. And yeah, its global,
so be careful.
None by default, but you can request register_delegate and
register_delegate( CW$name, &$builder )
Register $builder to build delegates named $name. $builder
is a coderef that is eventually called with the key/value pairs
supplied by the user. (The docs say this has to be a hashref, but it
can actually be any scalar value. Checking is up to you.) The
builder must return an instance of a class that does
although this condition is not checked by this module. (You will get
a type error when you are building the class that uses the delegate.)
In the common case where the args should be passed directly to some
class constructor, you can just supply the class name as the
$builder. new will be called with any args the user supplies.
You get a noisy warning if you reuse a $name. This is almost
always an error, though; only the most recent name/builder pair is
build_delegate( CW$spec )
Given a $spec, return an instance of the correct delegate. Dies if
we dont know how to build a delegate according to $spec.
$spec can be a string naming the delegate to be built, or it can be
a hashref or arrayref of name/args pair. Name is the same name passed
to register_delegate, and the args should be a hashref.
Jonathan Rockway <firstname.lastname@example.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.
|perl v5.20.3 ||ANYEVENT::SUBPROCESS::ROLE::WITHDELEGATES::MANAGER (3) ||2011-02-25 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.