adding Class::MOP::Object
[gitmo/Class-MOP.git] / lib / Class / MOP / Object.pm
1
2 package Class::MOP::Object;
3
4 use strict;
5 use warnings;
6
7 use Scalar::Util 'blessed';
8
9 our $VERSION   = '0.01';
10 our $AUTHORITY = 'cpan:STEVAN';
11
12 # introspection
13
14 sub meta { 
15     require Class::MOP::Class;
16     Class::MOP::Class->initialize(blessed($_[0]) || $_[0]);
17 }
18
19 1;
20
21 __END__
22
23 =pod
24
25 =head1 NAME 
26
27 Class::MOP::Object - Object Meta Object
28
29 =head1 DESCRIPTION
30
31 This class is basically a stub, it provides no functionality at all, 
32 and really just exists to make the Class::MOP metamodel complete.
33
34                          ......
35                         :      :                  
36                         :      v
37                   +-------------------+
38             +-----| Class::MOP::Class |
39             |     +-------------------+
40             |        ^      ^       ^
41             v        :      :       :
42   +--------------------+    :      +--------------------+
43   | Class::MOP::Module |    :      | Class::MOP::Object |
44   +--------------------+    :      +--------------------+
45             |               :                ^
46             |               :                |
47             |    +---------------------+     |
48             +--->| Class::MOP::Package |-----+
49                  +---------------------+
50                  
51   legend:
52     ..(is an instance of)..>
53     --(is a subclass of)-->
54
55 A deeper discussion of this model is currently beyond the scope of 
56 this documenation. 
57   
58 =head1 METHODS
59
60 =over 4
61
62 =item B<meta>
63
64 =back
65
66 =head1 AUTHORS
67
68 Stevan Little E<lt>stevan@iinteractive.comE<gt>
69
70 =head1 COPYRIGHT AND LICENSE
71
72 Copyright 2006 by Infinity Interactive, Inc.
73
74 L<http://www.iinteractive.com>
75
76 This library is free software; you can redistribute it and/or modify
77 it under the same terms as Perl itself.
78
79 =cut