Commit | Line | Data |
---|---|---|
8e64d0fa | 1 | package Mouse::Meta::Method; |
bc69ee88 | 2 | use Mouse::Util qw(:meta); # enables strict and warnings |
53875581 | 3 | |
8e64d0fa | 4 | use overload |
ef206305 | 5 | '&{}' => sub{ $_[0]->body }, |
8e64d0fa | 6 | fallback => 1, |
7 | ; | |
8 | ||
9010458d | 9 | sub wrap{ |
10 | my $class = shift; | |
8e64d0fa | 11 | |
9010458d | 12 | return $class->_new(@_); |
8e64d0fa | 13 | } |
14 | ||
9010458d | 15 | sub _new{ |
e78cd29d | 16 | my($class, %args) = @_; |
17 | my $self = bless \%args, $class; | |
9010458d | 18 | |
e78cd29d | 19 | if($class ne __PACKAGE__){ |
20 | $self->meta->_initialize_object($self, \%args); | |
21 | } | |
22 | return $self; | |
9010458d | 23 | } |
24 | ||
25 | sub body { $_[0]->{body} } | |
26 | sub name { $_[0]->{name} } | |
27 | sub package_name { $_[0]->{package} } | |
28 | sub associated_metaclass { $_[0]->{associated_metaclass} } | |
8e64d0fa | 29 | |
612d3e1a | 30 | sub fully_qualified_name { |
cf59b715 | 31 | my($self) = @_; |
612d3e1a | 32 | return $self->package_name . '::' . $self->name; |
33 | } | |
8e64d0fa | 34 | |
35 | 1; | |
8e64d0fa | 36 | __END__ |
1820fffe | 37 | |
38 | =head1 NAME | |
39 | ||
40 | Mouse::Meta::Method - A Mouse Method metaclass | |
41 | ||
a25ca8d6 | 42 | =head1 VERSION |
43 | ||
e9148d13 | 44 | This document describes Mouse version 0.50 |
a25ca8d6 | 45 | |
1820fffe | 46 | =head1 SEE ALSO |
47 | ||
48 | L<Moose::Meta::Method> | |
49 | ||
31c5194b | 50 | L<Class::MOP::Method> |
51 | ||
1820fffe | 52 | =cut |