r3279 - in /packages/libmoose-perl/trunk: Build.PL Changes MANIFEST META.yml Makefile.PL README debian/changelog debian/control lib/Moose.pm t/000_load.t t/018_import_unimport.t t/202_example_Moose_POOP.t

gregoa-guest at users.alioth.debian.org gregoa-guest at users.alioth.debian.org
Fri Jul 14 20:19:15 UTC 2006


Author: gregoa-guest
Date: Fri Jul 14 20:19:14 2006
New Revision: 3279

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=3279
Log:
* New upstream release.
* Added libtest-pod-perl and libtest-pod-coverage-perl to the Build Dependencies.
* Removed full stop at the end of the short description.

Added:
    packages/libmoose-perl/trunk/t/018_import_unimport.t
      - copied unchanged from r3278, packages/libmoose-perl/branches/upstream/current/t/018_import_unimport.t
Modified:
    packages/libmoose-perl/trunk/Build.PL
    packages/libmoose-perl/trunk/Changes
    packages/libmoose-perl/trunk/MANIFEST
    packages/libmoose-perl/trunk/META.yml
    packages/libmoose-perl/trunk/Makefile.PL
    packages/libmoose-perl/trunk/README
    packages/libmoose-perl/trunk/debian/changelog
    packages/libmoose-perl/trunk/debian/control
    packages/libmoose-perl/trunk/lib/Moose.pm
    packages/libmoose-perl/trunk/t/000_load.t
    packages/libmoose-perl/trunk/t/202_example_Moose_POOP.t

Modified: packages/libmoose-perl/trunk/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/Build.PL?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/Build.PL (original)
+++ packages/libmoose-perl/trunk/Build.PL Fri Jul 14 20:19:14 2006
@@ -12,7 +12,8 @@
         'Sub::Name'          => '0.02',
         'UNIVERSAL::require' => '0.10',
         'Sub::Exporter'      => '0.954',
-        'Sub::Install'       => '0.92',        
+        'Sub::Install'       => '0.92',   
+        'B'                  => '0',             
     },
     optional => {
     },

Modified: packages/libmoose-perl/trunk/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/Changes?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/Changes (original)
+++ packages/libmoose-perl/trunk/Changes Fri Jul 14 20:19:14 2006
@@ -1,4 +1,14 @@
 Revision history for Perl extension Moose
+
+0.11 Wed. July 12, 2006
+    * Moose
+      - added an &unimport method to remove all the keywords
+        that Moose will import, simply add 'no Moose' to the 
+        bottom of your class file. 
+        
+    * t/
+      - fixed some test failures caused by a forgotten test 
+        dependency.
 
 0.10 Thurs. July 6, 2006
     * Moose
@@ -12,7 +22,6 @@
     but it does not yet utilize the optimizations 
     it makes available. Stay tuned for that ;)
     
-
 0.09_03 Fri. June 23, 2006
     ++ DEVELOPER RELEASE ++
     * Moose

Modified: packages/libmoose-perl/trunk/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/MANIFEST?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/MANIFEST (original)
+++ packages/libmoose-perl/trunk/MANIFEST Fri Jul 14 20:19:14 2006
@@ -37,6 +37,7 @@
 t/015_override_and_foreign_classes.t
 t/016_always_strict_warnings.t
 t/017_wrapped_method_context_propagation.t
+t/018_import_unimport.t
 t/020_foreign_inheritence.t
 t/021_moose_w_metaclass.t
 t/022_moose_respects_base.t

Modified: packages/libmoose-perl/trunk/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/META.yml?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/META.yml (original)
+++ packages/libmoose-perl/trunk/META.yml Fri Jul 14 20:19:14 2006
@@ -1,13 +1,14 @@
 ---
 name: Moose
-version: 0.10
+version: 0.11
 author:
   - 'Stevan Little E<lt>stevan at iinteractive.comE<gt>'
   - 'Christian Hansen E<lt>chansen at cpan.orgE<gt>'
   - 'Yuval Kogman E<lt>nothingmuch at woobling.orgE<gt>'
-abstract: "Moose, it's the new Camel"
+abstract: A complete modern object system for Perl 5
 license: perl
 requires:
+  B: 0
   Carp: 0
   Class::MOP: 0.30
   Scalar::Util: 1.18
@@ -22,7 +23,7 @@
 provides:
   Moose:
     file: lib/Moose.pm
-    version: 0.10
+    version: 0.11
   Moose::Meta::Attribute:
     file: lib/Moose/Meta/Attribute.pm
     version: 0.06

Modified: packages/libmoose-perl/trunk/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/Makefile.PL?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/Makefile.PL (original)
+++ packages/libmoose-perl/trunk/Makefile.PL Fri Jul 14 20:19:14 2006
@@ -5,6 +5,7 @@
           'NAME' => 'Moose',
           'VERSION_FROM' => 'lib/Moose.pm',
           'PREREQ_PM' => {
+                           'B' => '0',
                            'Carp' => '0',
                            'Class::MOP' => '0.30',
                            'Scalar::Util' => '1.18',

Modified: packages/libmoose-perl/trunk/README
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/README?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/README (original)
+++ packages/libmoose-perl/trunk/README Fri Jul 14 20:19:14 2006
@@ -1,4 +1,4 @@
-Moose version 0.10
+Moose version 0.11
 ===========================
 
 See the individual module documentation for more information
@@ -22,6 +22,7 @@
 	Sub::Name
 	UNIVERSAL::require
 	Sub::Exporter
+	B
 
 COPYRIGHT AND LICENCE
 

Modified: packages/libmoose-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/debian/changelog?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/debian/changelog (original)
+++ packages/libmoose-perl/trunk/debian/changelog Fri Jul 14 20:19:14 2006
@@ -1,3 +1,11 @@
+libmoose-perl (0.11-1) unstable; urgency=low
+
+  * New upstream release.
+  * Added libtest-pod-perl and libtest-pod-coverage-perl to the Build Dependencies.
+  * Removed full stop at the end of the short description.
+
+ -- gregor herrmann <gregor+debian at comodo.priv.at>  Fri, 14 Jul 2006 22:17:06 +0200
+
 libmoose-perl (0.10-1) unstable; urgency=low
 
   * New upstream release

Modified: packages/libmoose-perl/trunk/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/debian/control?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/debian/control (original)
+++ packages/libmoose-perl/trunk/debian/control Fri Jul 14 20:19:14 2006
@@ -2,15 +2,15 @@
 Section: perl
 Priority: optional
 Build-Depends: debhelper (>= 5.0.0), libmodule-build-perl
-Build-Depends-Indep: perl (>= 5.8.0-7), libtest-longstring-perl, libclass-mop-perl (>= 0.30), libsub-exporter-perl, libtest-exception-perl, libuniversal-require-perl
+Build-Depends-Indep: perl (>= 5.8.0-7), libtest-longstring-perl, libclass-mop-perl (>= 0.30), libsub-exporter-perl, libtest-exception-perl, libuniversal-require-perl, libtest-pod-perl, libtest-pod-coverage-perl
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
-Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>
+Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>, gregor herrmann <gregor+debian at comodo.priv.at>
 Standards-Version: 3.7.2.1
 
 Package: libmoose-perl
 Architecture: all
 Depends: ${perl:Depends}, ${misc:Depends}, libtest-longstring-perl, libclass-mop-perl (>= 0.30), libsub-exporter-perl, libuniversal-require-perl
-Description: Extension of the Perl 5 object system.
+Description: Extension of the Perl 5 object system
  Moose, it's the new Camel. Moose is an extension of the existing Perl5 
  object system.
  .

Modified: packages/libmoose-perl/trunk/lib/Moose.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/lib/Moose.pm?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/lib/Moose.pm (original)
+++ packages/libmoose-perl/trunk/lib/Moose.pm Fri Jul 14 20:19:14 2006
@@ -4,11 +4,12 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 use Scalar::Util 'blessed', 'reftype';
 use Carp         'confess';
 use Sub::Name    'subname';
+use B            'svref_2object';
 
 use UNIVERSAL::require;
 use Sub::Exporter;
@@ -166,6 +167,27 @@
         
         goto $exporter;
     }
+    
+    sub unimport {
+        no strict 'refs';        
+        my $class = caller();
+        # loop through the exports ...
+        foreach my $name (keys %exports) {
+            
+            # if we find one ...
+            if (defined &{$class . '::' . $name}) {
+                my $keyword = \&{$class . '::' . $name};
+                
+                # make sure it is from Moose
+                my $pkg_name = eval { svref_2object($keyword)->GV->STASH->NAME };
+                next if $@;
+                next if $pkg_name ne 'Moose';
+                
+                # and if it is from Moose then undef the slot
+                delete ${$class . '::'}{$name};
+            }
+        }
+    }
 }
 
 ## Utility functions
@@ -200,7 +222,7 @@
 
 =head1 NAME
 
-Moose - Moose, it's the new Camel
+Moose - A complete modern object system for Perl 5
 
 =head1 SYNOPSIS
 
@@ -442,6 +464,27 @@
 
 =back
 
+=head1 UNEXPORTING FUNCTIONS
+
+=head2 B<unimport>
+
+Moose offers a way of removing the keywords it exports though the C<unimport>
+method. You simply have to say C<no Moose> at the bottom of your code for this
+to work. Here is an example:
+
+    package Person;
+    use Moose;
+
+    has 'first_name' => (is => 'rw', isa => 'Str');
+    has 'last_name'  => (is => 'rw', isa => 'Str');
+    
+    sub full_name { 
+        my $self = shift;
+        $self->first_name . ' ' . $self->last_name 
+    }
+    
+    no Moose; # keywords are removed from the Person package    
+
 =head1 FUTURE PLANS
 
 Here is just a sampling of the plans we have in store for Moose:

Modified: packages/libmoose-perl/trunk/t/000_load.t
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/t/000_load.t?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/t/000_load.t (original)
+++ packages/libmoose-perl/trunk/t/000_load.t Fri Jul 14 20:19:14 2006
@@ -7,4 +7,4 @@
 
 BEGIN {
     use_ok('Moose');           
-}
+}

Modified: packages/libmoose-perl/trunk/t/202_example_Moose_POOP.t
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libmoose-perl/trunk/t/202_example_Moose_POOP.t?rev=3279&op=diff
==============================================================================
--- packages/libmoose-perl/trunk/t/202_example_Moose_POOP.t (original)
+++ packages/libmoose-perl/trunk/t/202_example_Moose_POOP.t Fri Jul 14 20:19:14 2006
@@ -6,8 +6,8 @@
 use Test::More;
 
 BEGIN {
-    eval "use DBM::Deep;";
-    plan skip_all => "DBM::Deep required for this test" if $@;        
+    eval "use DBM::Deep 0.983; use DateTime::Format::MySQL;";
+    plan skip_all => "DBM::Deep and DateTime::Format::MySQL required for this test" if $@;        
     plan tests => 89;    
 }
 




More information about the Pkg-perl-cvs-commits mailing list