X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FObject.pm;h=9c8c359bbea11c162f2fba1f22fe6ad3af932bd4;hb=e41d1dd685584e6461d9198a9478404025022e29;hp=e20e29998cab12a19deb1e102ca14b512c906ed4;hpb=88dd563c8b2edea359b8500535b8b46a8bbe6340;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Object.pm b/lib/Class/MOP/Object.pm index e20e299..9c8c359 100644 --- a/lib/Class/MOP/Object.pm +++ b/lib/Class/MOP/Object.pm @@ -6,7 +6,8 @@ use warnings; use Scalar::Util 'blessed'; -our $VERSION = '0.02'; +our $VERSION = '1.06'; +$VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; # introspection @@ -16,6 +17,10 @@ sub meta { Class::MOP::Class->initialize(blessed($_[0]) || $_[0]); } +sub _new { + Class::MOP::class_of(shift)->new_object(@_); +} + # RANT: # Cmon, how many times have you written # the following code while debugging: @@ -28,7 +33,7 @@ sub meta { sub dump { my $self = shift; require Data::Dumper; - $Data::Dumper::Maxdepth = shift || 1; + local $Data::Dumper::Maxdepth = shift || 1; Data::Dumper::Dumper $self; } @@ -40,50 +45,27 @@ __END__ =head1 NAME -Class::MOP::Object - Object Meta Object +Class::MOP::Object - Base class for metaclasses =head1 DESCRIPTION -This class is basically a stub, it provides no functionality at all, -and really just exists to make the Class::MOP metamodel complete. - - ...... - : : - : v - +-------------------+ - +-----| Class::MOP::Class | - | +-------------------+ - | ^ ^ ^ - v : : : - +--------------------+ : +--------------------+ - | Class::MOP::Module | : | Class::MOP::Object | - +--------------------+ : +--------------------+ - | : ^ - | : | - | +---------------------+ | - +--->| Class::MOP::Package |-----+ - +---------------------+ - - legend: - ..(is an instance of)..> - --(is a subclass of)---> - -A deeper discussion of this model is currently beyond the scope of -this documenation. - +This class is a very minimal base class for metaclasses. + =head1 METHODS +This class provides a few methods which are useful in all metaclasses. + =over 4 -=item B +=item B<< Class::MOP::???->meta >> + +This returns a L object. -=item B +=item B<< $metaobject->dump($max_depth) >> -This will C the L module and then dump a -representation of your object. It passed the C<$max_depth> arg -to C<$Data::Dumper::Maxdepth>. The default C<$max_depth> is 1, -so it will not go crazy and print a massive bunch of stuff. -Adjust this as nessecary. +This method uses L to dump the object. You can pass an +optional maximum depth, which will set C<$Data::Dumper::Maxdepth>. The +default maximum depth is 1. =back @@ -93,7 +75,7 @@ Stevan Little Estevan@iinteractive.comE =head1 COPYRIGHT AND LICENSE -Copyright 2006 by Infinity Interactive, Inc. +Copyright 2006-2010 by Infinity Interactive, Inc. L