in reply to MooseX::ClassCompositor for roles with requirements
There's nothing built-in, but you can create a subclass of MooseX::ClassCompositor that does the job in about a dozen lines of code...
{ package MooseX::ClassCompositor::OnAcid; use Moose; extends qw( MooseX::ClassCompositor ); around class_for => sub { my $orig = shift; my $self = shift; my @roles = map { ref($_) eq q(HASH) ? 'Moose::Meta::Role'->create_anon_role +(methods => $_) : $_ } @_; $self->$orig(@roles); }; } { package Foo; use Moose::Role; requires '_build_bar'; } my %methods = ( _build_bar => sub {"foo"}, ); my $class = MooseX::ClassCompositor::OnAcid->new( { class_basename => 'Test' } )->class_for('Foo', \%methods); print $class->new->dump;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: MooseX::ClassCompositor for roles with requirements
by docdurdee (Scribe) on Aug 14, 2013 at 00:40 UTC |