use Scalar::Util 'blessed';
-our $VERSION = '0.02';
+our $VERSION = '0.64_07';
+$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Package';
-# introspection
-
-sub meta {
- require Class::MOP::Class;
- Class::MOP::Class->initialize(blessed($_[0]) || $_[0]);
-}
-
sub version {
my $self = shift;
- ${$self->get_package_symbol('$VERSION')};
+ ${$self->get_package_symbol({ sigil => '$', type => 'SCALAR', name => 'VERSION' })};
}
sub authority {
my $self = shift;
- ${$self->get_package_symbol('$AUTHORITY')};
+ ${$self->get_package_symbol({ sigil => '$', type => 'SCALAR', name => 'AUTHORITY' })};
}
sub identifier {
Class::MOP::Module - Module Meta Object
-=head1 SYNOPSIS
-
=head1 DESCRIPTION
+This is an abstraction of a Perl 5 module, it is a superclass of
+L<Class::MOP::Class>. A module essentially a package with metadata,
+in our case the version and authority.
+
=head1 METHODS
=over 4
=item B<meta>
+Returns a metaclass for this package.
+
+=item B<initialize ($package_name)>
+
+This will initialize a Class::MOP::Module instance which represents
+the module of C<$package_name>.
+
=item B<version>
This is a read-only attribute which returns the C<$VERSION> of the
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
-=cut
\ No newline at end of file
+=cut