use Scalar::Util 'blessed';
use Class::MOP 0.60;
-our $VERSION = '1.03';
+our $VERSION = '1.08';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
search_class_by_role
ensure_all_roles
apply_all_roles
+ with_traits
get_all_init_args
get_all_attribute_values
resolve_metatrait_alias
}
}
+sub with_traits {
+ my ($class, @roles) = @_;
+ return $class unless @roles;
+ return Moose::Meta::Class->create_anon_class(
+ superclasses => [$class],
+ roles => \@roles,
+ cache => 1,
+ )->name;
+}
+
# instance deconstruction ...
sub get_all_attribute_values {
This function is similar to L</apply_all_roles>, but only applies roles that
C<$applicant> does not already consume.
+=item B<with_traits($class_name, @role_names)>
+
+This function creates a new class from C<$class_name> with each of
+C<@role_names> applied. It returns the name of the new class.
+
=item B<get_all_attribute_values($meta, $instance)>
Returns a hash reference containing all of the C<$instance>'s