Merge branch 'stable'
[gitmo/Class-MOP.git] / lib / Class / MOP / Package.pm
index fa60c6b..e87df55 100644 (file)
@@ -8,7 +8,7 @@ use Scalar::Util 'blessed', 'reftype';
 use Carp         'confess';
 use Package::Stash;
 
-our $VERSION   = '1.08';
+our $VERSION   = '1.12';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -103,34 +103,44 @@ sub namespace {
 
 sub add_package_symbol {
     my $self = shift;
-    $self->_package_stash->add_package_symbol(@_);
+    $self->_package_stash->add_symbol(@_);
 }
 
 sub remove_package_glob {
     my $self = shift;
-    $self->_package_stash->remove_package_glob(@_);
+    $self->_package_stash->remove_glob(@_);
 }
 
 # ... these functions deal with stuff on the namespace level
 
 sub has_package_symbol {
     my $self = shift;
-    $self->_package_stash->has_package_symbol(@_);
+    $self->_package_stash->has_symbol(@_);
 }
 
 sub get_package_symbol {
     my $self = shift;
-    $self->_package_stash->get_package_symbol(@_);
+    $self->_package_stash->get_symbol(@_);
+}
+
+sub get_or_add_package_symbol {
+    my $self = shift;
+    $self->_package_stash->get_or_add_symbol(@_);
 }
 
 sub remove_package_symbol {
     my $self = shift;
-    $self->_package_stash->remove_package_symbol(@_);
+    $self->_package_stash->remove_symbol(@_);
 }
 
 sub list_all_package_symbols {
     my $self = shift;
-    $self->_package_stash->list_all_package_symbols(@_);
+    $self->_package_stash->list_all_symbols(@_);
+}
+
+sub get_all_package_symbols {
+    my $self = shift;
+    $self->_package_stash->get_all_symbols(@_);
 }
 
 1;
@@ -191,6 +201,12 @@ Given a variable name, this method returns the variable as a reference
 or undef if it does not exist. The C<$variable_name> must contain a
 leading sigil.
 
+=item B<< $metapackage->get_or_add_package_symbol($variable_name) >>
+
+Given a variable name, this method returns the variable as a reference.
+If it does not exist, a default value will be generated if possible. The
+C<$variable_name> must contain a leading sigil.
+
 =item B<< $metapackage->has_package_symbol($variable_name) >>
 
 Returns true if there is a package variable defined for