version bump for 1.9903
[gitmo/Moose.git] / lib / Moose / Util.pm
index 55ad20e..d7e7e50 100644 (file)
@@ -9,11 +9,8 @@ use Sub::Exporter;
 use Scalar::Util 'blessed';
 use List::Util qw(first);
 use List::MoreUtils qw(any all);
-use Class::MOP   0.60;
-
-our $VERSION   = '1.15';
-$VERSION = eval $VERSION;
-our $AUTHORITY = 'cpan:STEVAN';
+use overload ();
+use Class::MOP;
 
 my @exports = qw[
     find_meta
@@ -289,8 +286,10 @@ sub meta_class_alias {
 }
 
 # XXX - this should be added to Params::Util
-sub _STRINGLIKE ($) {
+sub _STRINGLIKE0 ($) {
     return _STRING( $_[0] )
+        || ( defined $_[0]
+        && $_[0] eq q{} )
         || ( blessed $_[0]
         && overload::Method( $_[0], q{""} )
         && length "$_[0]" );
@@ -319,16 +318,20 @@ sub _reconcile_roles_for_metaclass {
 
 sub _role_differences {
     my ($class_meta_name, $super_meta_name) = @_;
-    my @super_role_metas = $super_meta_name->meta->can('calculate_all_roles_with_inheritance')
-                         ? $super_meta_name->meta->calculate_all_roles_with_inheritance
-                         : $super_meta_name->meta->can('calculate_all_roles')
-                         ? $super_meta_name->meta->calculate_all_roles
-                         : ();
-    my @role_metas       = $class_meta_name->meta->can('calculate_all_roles_with_inheritance')
-                         ? $class_meta_name->meta->calculate_all_roles_with_inheritance
-                         : $class_meta_name->meta->can('calculate_all_roles')
-                         ? $class_meta_name->meta->calculate_all_roles
-                         : ();
+    my @super_role_metas
+        = grep { !$_->isa('Moose::Meta::Role::Composite') }
+               $super_meta_name->meta->can('calculate_all_roles_with_inheritance')
+                   ? $super_meta_name->meta->calculate_all_roles_with_inheritance
+                   : $super_meta_name->meta->can('calculate_all_roles')
+                   ? $super_meta_name->meta->calculate_all_roles
+                   : ();
+    my @role_metas
+        = grep { !$_->isa('Moose::Meta::Role::Composite') }
+               $class_meta_name->meta->can('calculate_all_roles_with_inheritance')
+                   ? $class_meta_name->meta->calculate_all_roles_with_inheritance
+                   : $class_meta_name->meta->can('calculate_all_roles')
+                   ? $class_meta_name->meta->calculate_all_roles
+                   : ();
     my @differences;
     for my $role_meta (@role_metas) {
         push @differences, $role_meta
@@ -446,14 +449,12 @@ sub _is_role_only_subclass {
 
 1;
 
+# ABSTRACT: Utilities for working with Moose classes
+
 __END__
 
 =pod
 
-=head1 NAME
-
-Moose::Util - Utilities for working with Moose classes
-
 =head1 SYNOPSIS
 
   use Moose::Util qw/find_meta does_role search_class_by_role/;
@@ -580,24 +581,5 @@ Here is a list of possible functions to write
 
 See L<Moose/BUGS> for details on reporting bugs.
 
-=head1 AUTHOR
-
-Anders Nor Berle E<lt>debolaz@gmail.comE<gt>
-
-B<with contributions from:>
-
-Robert (phaylon) Sedlacek
-
-Stevan Little
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2007-2009 by Infinity Interactive, Inc.
-
-L<http://www.iinteractive.com>
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
 =cut