Venus::Role::Reflectable
Reflectable Role
Reflectable Role for Perl 5
method: class method: meta method: reify method: space method: type
package Example;
use Venus::Class;
with 'Venus::Role::Reflectable';
sub test {
true
}
package main;
my $example = Example->new;
# $example->space;
This package modifies the consuming package and provides methods for introspecting the object and its underlying package.
The class method returns the class name for the given class or object.
class() (Str)
{ since => '0.01', }
=example-1 class
# given: synopsis;
my $class = $example->class;
# "Example"
The meta method returns a Venus::Meta object for the given object.
meta() (Meta)
{ since => '1.23', }
=example-1 meta
# given: synopsis;
my $meta = $example->meta;
# bless({name => "Example"}, "Venus::Meta")
The reify method dispatches the method call or executes the callback and returns the result as a value object.
reify(Str | CodeRef $code, Any @args) (Object)
{ since => '1.23', }
=example-1 reify
# given: synopsis
package main;
my $reify = $example->reify;
# bless({}, "Example")
The space method returns a Venus::Space object for the given object.
space() (Space)
{ since => '0.01', }
=example-1 space
# given: synopsis;
my $space = $example->space;
# bless({ value => "Example" }, "Venus::Space")
The type method dispatches the method call or executes the callback and returns the result as a Venus::Type object.
type(Str | CodeRef $code, Any @args) (Type)
{ since => '0.01', }
=example-1 type
# given: synopsis;
my $type = $example->type;
# bless({ value => bless({}, "Example") }, "Venus::Type")
t/Venus.t: pdml: authors t/Venus.t: pdml: license
25 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 49:
Unknown directive: =synopsis
- Around line 78:
Unknown directive: =description
- Around line 87:
Unknown directive: =method
- Around line 91:
Unknown directive: =signature
- Around line 95:
Unknown directive: =metadata
- Around line 119:
Unknown directive: =method
- Around line 123:
Unknown directive: =signature
- Around line 127:
Unknown directive: =metadata
- Around line 151:
Unknown directive: =method
- Around line 156:
Unknown directive: =signature
- Around line 160:
Unknown directive: =metadata
- Around line 196:
=cut found outside a pod block. Skipping to next block.
- Around line 217:
=cut found outside a pod block. Skipping to next block.
- Around line 228:
Unknown directive: =method
- Around line 232:
Unknown directive: =signature
- Around line 236:
Unknown directive: =metadata
- Around line 260:
Unknown directive: =method
- Around line 265:
Unknown directive: =signature
- Around line 269:
Unknown directive: =metadata
- Around line 302:
=cut found outside a pod block. Skipping to next block.
- Around line 313:
Unknown directive: =partials