Venus::Role::Pluggable - Pluggable Role
Pluggable Role for Perl 5
package Example::Plugin::Username; use Venus::Class; use Digest::SHA (); sub execute { my ($self, $example) = @_; return Digest::SHA::sha1_hex($example->login); } package Example::Plugin::Password; use Venus::Class; use Digest::SHA (); attr 'value'; sub construct { my ($class, $example) = @_; return $class->new(value => $example->secret); } sub execute { my ($self) = @_; return Digest::SHA::sha1_hex($self->value); } package Example; use Venus::Class; with 'Venus::Role::Proxyable'; with 'Venus::Role::Pluggable'; attr 'login'; attr 'secret'; package main; my $example = Example->new(login => 'admin', secret => 'p@ssw0rd'); # $example->username; # $example->password;
This package provides a mechanism for dispatching to plugin classes.
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.