Skip to content

Instantly share code, notes, and snippets.

@sschober
Created February 3, 2014 14:43
Show Gist options
  • Save sschober/8785012 to your computer and use it in GitHub Desktop.
Save sschober/8785012 to your computer and use it in GitHub Desktop.
RoleA requiring method provided by RoleB - Moose-Version (works)
use v5.14;
use strict;
use warnings;
package RoleA;
use Moose::Role;
requires 'm1';
sub m2() {
my $self = shift;
$self->m1." World!\n";
}
1;
package RoleB;
use Moose::Role;
has 'm1' => ( is => 'ro', isa => 'Str', default => 'Hello');
1;
package ClassA;
use Moose;
with 'RoleB';
with 'RoleA';
sub m3() {
my $self = shift;
$self->m2();
}
1;
package main;
print ClassA->new()->m3();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment