Checking in changes prior to tagging of version 0.50_09. Changelog diff is:
[gitmo/Mouse.git] / lib / Mouse / Meta / Method.pm
index 9ba243e..ac5a26f 100755 (executable)
@@ -1,7 +1,10 @@
 package Mouse::Meta::Method;
 use Mouse::Util qw(:meta); # enables strict and warnings
+use Scalar::Util ();
 
 use overload
+    '=='  => '_equal',
+    'eq'  => '_equal',
     '&{}' => sub{ $_[0]->body },
     fallback => 1,
 ;
@@ -28,10 +31,20 @@ sub package_name         { $_[0]->{package} }
 sub associated_metaclass { $_[0]->{associated_metaclass} }
 
 sub fully_qualified_name {
-    my $self = shift;
+    my($self) = @_;
     return $self->package_name . '::' . $self->name;
 }
 
+# for Moose compat
+sub _equal {
+    my($l, $r) = @_;
+
+    return Scalar::Util::blessed($r)
+            && $l->body         == $r->body
+            && $l->name         eq $r->name
+            && $l->package_name eq $r->package_name;
+}
+
 1;
 __END__
 
@@ -41,7 +54,7 @@ Mouse::Meta::Method - A Mouse Method metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.40_08
+This document describes Mouse version 0.50_09
 
 =head1 SEE ALSO