Allow overloading on arguments to native trait methods
[gitmo/Moose.git] / lib / Moose / Util.pm
index 638e40e..5896f41 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 
 use Data::OptList;
+use Params::Util qw( _STRING );
 use Sub::Exporter;
 use Scalar::Util 'blessed';
 use Class::MOP   0.60;
@@ -285,6 +286,14 @@ sub meta_class_alias {
     _create_alias('Class', $to, $trait, $from);
 }
 
+# XXX - this should be added to Params::Util
+sub _STRINGLIKE ($) {
+    return _STRING( $_[0] )
+        || ( blessed $_[0]
+        && overload::Method( $_[0], q{""} )
+        && length "$_[0]" );
+}
+
 1;
 
 __END__