X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FObject.pm;h=265a55d5e6d41f039e75815ae8b01f7ab44245c8;hb=0e734d64ed657f0acb36d0ec28b6d03019405d14;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..265a55d 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.03';
+$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