NAME
Data::Object::Role
ABSTRACT
Role Builder for Perl 5
SYNOPSIS
package Identity;
use Data::Object::Role;
package Example;
use Moo;
with 'Identity';
package main;
my $example = Example->new;
DESCRIPTION
This package modifies the consuming package making it a role.
INHERITS
This package inherits behaviors from:
SCENARIOS
This package supports the following scenarios:
has
package HasIdentity;
use Data::Object::Role;
has id => (
is => 'ro'
);
package HasExample;
use Moo;
with 'HasIdentity';
package main;
my $example = HasExample->new;
This package supports the has
keyword, which is used to declare role attributes, which can be accessed and assigned to using the built-in getter/setter or by the object constructor. See Moo for more information.
requires
package EntityRequires;
use Data::Object::Role;
requires 'execute';
package RequiresExample;
use Moo;
with 'EntityRequires';
sub execute {
# does something ...
}
package main;
my $example = RequiresExample->new;
This package supports the requires
keyword, which is used to declare methods which must exist in the consuming package. See Moo for more information.
with
package WithEntity;
use Data::Object::Role;
package WithIdentity;
use Data::Object::Role;
with 'WithEntity';
package WithExample;
use Moo;
with 'WithIdentity';
package main;
my $example = WithExample->new;
This package supports the with
keyword, which is used to declare roles to be used and compose into your role. See Moo for more information.
AUTHOR
Al Newkirk, awncorp@cpan.org
LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".