Checking in changes prior to tagging of version 0.41. Changelog diff is:
[gitmo/Mouse.git] / lib / Mouse / Meta / Method.pm
CommitLineData
8e64d0fa 1package Mouse::Meta::Method;
bc69ee88 2use Mouse::Util qw(:meta); # enables strict and warnings
53875581 3
8e64d0fa 4use overload
ef206305 5 '&{}' => sub{ $_[0]->body },
8e64d0fa 6 fallback => 1,
7;
8
9010458d 9sub wrap{
10 my $class = shift;
8e64d0fa 11
9010458d 12 return $class->_new(@_);
8e64d0fa 13}
14
9010458d 15sub _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
25sub body { $_[0]->{body} }
26sub name { $_[0]->{name} }
27sub package_name { $_[0]->{package} }
28sub associated_metaclass { $_[0]->{associated_metaclass} }
8e64d0fa 29
612d3e1a 30sub fully_qualified_name {
cf59b715 31 my($self) = @_;
612d3e1a 32 return $self->package_name . '::' . $self->name;
33}
8e64d0fa 34
351;
8e64d0fa 36__END__
1820fffe 37
38=head1 NAME
39
40Mouse::Meta::Method - A Mouse Method metaclass
41
a25ca8d6 42=head1 VERSION
43
4c0fe06f 44This document describes Mouse version 0.41
a25ca8d6 45
1820fffe 46=head1 SEE ALSO
47
48L<Moose::Meta::Method>
49
31c5194b 50L<Class::MOP::Method>
51
1820fffe 52=cut