Venus::Core::Role

Role Base Class

Role Base Class for Perl 5

method: does method: meta

package Person;

use base 'Venus::Core::Role';

package User;

use base 'Venus::Core::Class';

package main;

my $user = User->ROLE('Person')->new(
  fname => 'Elliot',
  lname => 'Alderson',
);

# bless({fname => 'Elliot', lname => 'Alderson'}, 'User')

This package provides a role base class with role building and object construction lifecycle hooks.

Venus::Core

The does method returns true if the object is composed of the role provided.

does(Str $name) (Bool)

{ since => '1.00', }

=example-1 does

package Employee;

use base 'Venus::Core::Role';

Employee->ROLE('Person');

package main;

my $user = User->ROLE('Employee')->new(
  fname => 'Elliot',
  lname => 'Alderson',
);

my $does = Employee->does('Person');

# 1

The meta method returns a Venus::Meta objects which describes the package's configuration.

meta() (Meta)

{ since => '1.00', }

=example-1 meta

package main;

my $user = User->ROLE('Person')->new(
  fname => 'Elliot',
  lname => 'Alderson',
);

my $meta = Person->meta;

# bless({...}, 'Venus::Meta')

t/Venus.t: pdml: authors t/Venus.t: pdml: license

14 POD Errors

The following errors were encountered while parsing the POD:

Around line 13:

Unknown directive: =name

Around line 21:

Unknown directive: =tagline

Around line 29:

Unknown directive: =abstract

Around line 37:

Unknown directive: =includes

Around line 46:

Unknown directive: =synopsis

Around line 79:

Unknown directive: =description

Around line 88:

Unknown directive: =inherits

Around line 96:

Unknown directive: =method

Around line 100:

Unknown directive: =signature

Around line 104:

Unknown directive: =metadata

Around line 139:

Unknown directive: =method

Around line 144:

Unknown directive: =signature

Around line 148:

Unknown directive: =metadata

Around line 177:

Unknown directive: =partials