use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.01';
+our $VERSION = '0.02';
our $AUTHORITY = 'cpan:STEVAN';
-use base 'Moose::Meta::Method';
+use base 'Moose::Meta::Method',
+ 'Class::MOP::Method::Generated';
sub new {
my $class = shift;
# needed
weaken($self->{'$!associated_metaclass'});
- $self->intialize_body;
+ $self->initialize_body;
return $self;
}
sub is_needed { defined $_[0]->{'&!body'} ? 1 : 0 }
-sub intialize_body {
+sub initialize_body {
my $self = shift;
# TODO:
# the %options should also include a both
push @DEMOLISH_calls => '$_[0]->' . $method->{class} . '::DEMOLISH()';
}
- $source .= join "\n" => @DEMOLISH_calls;
+ $source .= join ";\n" => @DEMOLISH_calls;
$source .= ";\n" . '}';
warn $source if $self->options->{debug};
=pod
-=cut
\ No newline at end of file
+=head1 NAME
+
+Moose::Meta::Method::Destructor - Method Meta Object for destructors
+
+=head1 DESCRIPTION
+
+This is a subclass of L<Class::MOP::Method> which handles
+constructing an approprate Destructor method. This is primarily
+used in the making of immutable metaclasses, otherwise it is
+not particularly useful.
+
+=head1 METHODS
+
+=over 4
+
+=item B<new>
+
+=item B<attributes>
+
+=item B<meta_instance>
+
+=item B<options>
+
+=item B<is_needed>
+
+=item B<initialize_body>
+
+=item B<associated_metaclass>
+
+=back
+
+=head1 AUTHORS
+
+Stevan Little E<lt>stevan@iinteractive.comE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2008 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+