Venus::Role::Proxyable - Proxyable Role
Proxyable Role for Perl 5
package Example; use Venus::Class; with 'Venus::Role::Proxyable'; attr 'test'; sub build_proxy { my ($self, $package, $method, @args) = @_; return sub { [$self, $package, $method, @args] } if $method eq 'anything'; return undef; } package main; my $example = Example->new(test => time); # $example->anything(1..4);
This package provides a hook into method dispatch resoluton via a wrapper around the AUTOLOAD routine which processes calls to routines which don't exist.
AUTOLOAD
This package provides the following methods:
build_proxy(Str $package, Str $method, Any @args) (CodeRef | Undef)
The build_proxy method should return a code reference to fulfill the method dispatching request, or undef to result in a method not found error.
Since 0.01
0.01
package main; my $example = Example->new(test => 123); my $build_proxy = $example->build_proxy('Example', 'everything', 1..4); # undef
package main; my $example = Example->new(test => 123); my $build_proxy = $example->build_proxy('Example', 'anything', 1..4); # sub { ... }
To install Venus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Venus
CPAN shell
perl -MCPAN -e shell install Venus
For more information on module installation, please visit the detailed CPAN module installation guide.