X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FMethod.pm;h=e1057a43749a0d239536af16cdb0fa929a3f5eda;hb=1746908e63ce233fad3c290d731ac34aff7c2d22;hp=efd9b2ed3e709ad3082a0a45df2d174750bad75b;hpb=02bf7ed13ae5d43392767a38fe71e9606f1dba76;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Method.pm b/lib/Mouse/Meta/Method.pm old mode 100755 new mode 100644 index efd9b2e..e1057a4 --- a/lib/Mouse/Meta/Method.pm +++ b/lib/Mouse/Meta/Method.pm @@ -1,14 +1,17 @@ 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(@_); } @@ -32,6 +35,16 @@ sub fully_qualified_name { 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,12 @@ Mouse::Meta::Method - A Mouse Method metaclass =head1 VERSION -This document describes Mouse version 0.48 +This document describes Mouse version 0.85 + +=head1 DESCRIPTION + +This class is a meta object protocol for Mouse methods, +which is a subset of Moose::Meta:::Method. =head1 SEE ALSO