use Role::Tiny ();
use base qw(Role::Tiny);
+our $VERSION = '1.003001';
+$VERSION = eval $VERSION;
+
require Moo::sification;
BEGIN { *INFO = \%Role::Tiny::INFO }
}
$INFO{$target} ||= {};
# get symbol table reference
- my $stash = do { no strict 'refs'; \%{"${target}::"} };
+ my $stash = _getstash($target);
_install_tracked $target => has => sub {
my $name_proto = shift;
my @name_proto = ref $name_proto eq 'ARRAY' ? @$name_proto : $name_proto;
sub create_class_with_roles {
my ($me, $superclass, @roles) = @_;
- my $new_name = join(
- '__WITH__', $superclass, my $compose_name = join '__AND__', @roles
- );
+ my ($new_name, $compose_name) = $me->_composite_name($superclass, @roles);
return $new_name if $Role::Tiny::COMPOSED{class}{$new_name};
}
1;
+__END__
=head1 NAME
=head1 COPYRIGHT AND LICENSE
See L<Moo> for the copyright and license.
+
+=cut