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,
;
-sub wrap{
+sub wrap {
my $class = shift;
-
+ unshift @_, 'body' if @_ % 2 != 0;
return $class->_new(@_);
}
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__
=head1 VERSION
-This document describes Mouse version 0.50
+This document describes Mouse version 0.71
+
+=head1 DESCRIPTION
+
+This class is a meta object protocol for Mouse methods,
+which is a subset of Moose::Meta:::Method.
=head1 SEE ALSO