The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Changes 05
META.yml 34
Makefile.PL 2033
README 11
dist.ini 22
lib/MooseX/MethodAttributes/Inheritable.pm 22
lib/MooseX/MethodAttributes/Role/AttrContainer/Inheritable.pm 22
lib/MooseX/MethodAttributes/Role/AttrContainer.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Class.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Map.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Method/MaybeWrapped.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Method/Wrapped.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Method.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Role/Application/Summation.pm 22
lib/MooseX/MethodAttributes/Role/Meta/Role/Application.pm 213
lib/MooseX/MethodAttributes/Role/Meta/Role.pm 33
lib/MooseX/MethodAttributes/Role.pm 22
lib/MooseX/MethodAttributes.pm 22
t/lib/BaseClass.pm 22
t/lib/ClassUsingRoleWithAttributes.pm 11
t/lib/OtherRoleWithAttributes.pm 11
t/lib/OtherSubClass.pm 11
t/lib/RoleWithAttributes.pm 11
t/lib/SubClass.pm 11
t/lib/SubClassUseBaseAndUseMoose.pm 11
t/lib/SubSubClass.pm 11
t/lib/TestClass.pm 22
t/lib/UsesMultipleRoles.pm 11
28 files changed (This is a version diff) 8485
@@ -1,3 +1,8 @@
+0.20   Wed, 10 Feb 2010 00:46:11 +0000
+  * Remove horrible code and epic comment working around Moose bugs
+    with reinitializing anon classes now that the bug is fixed upstream
+    in Moose (commit cf600c83).
+
 0.19    Sat, 09 Jan 2010 17:29:00 +0000
   * Adapt to changes in in composition_class roles
     in new Moose releases (>= 0.93_01)
@@ -3,17 +3,18 @@ abstract: 'code attribute introspection'
 author:
   - 'Florian Ragwitz <rafl@debian.org>'
   - 'Tomas Doran <bobtfish@bobtfish.net>'
-generated_by: 'Dist::Zilla version 1.093400'
+generated_by: 'Dist::Zilla version 1.100160'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: 1.4
 name: MooseX-MethodAttributes
 requires:
-  Moose: 0.90
+  ExtUtils::MakeMaker: 6.11
+  Moose: 0.97
   MooseX::Types: 0.20
   Test::Exception: 0
   Test::More: 0.88
   namespace::autoclean: 0
   namespace::clean: 0.10
-version: 0.19
+version: 0.20
@@ -4,24 +4,37 @@ use warnings;
 
 
 
-use ExtUtils::MakeMaker;
-
-WriteMakefile(
-  DISTNAME  => 'MooseX-MethodAttributes',
-  NAME      => 'MooseX::MethodAttributes',
-  AUTHOR    => "Florian\ Ragwitz\ \<rafl\@debian\.org\>\,\ Tomas\ Doran\ \<bobtfish\@bobtfish\.net\>",
-  ABSTRACT  => "code\ attribute\ introspection",
-  VERSION   => '0.19',
-  EXE_FILES => [ qw() ],
-  (eval { ExtUtils::MakeMaker->VERSION(6.31) } ? (LICENSE => 'perl') : ()),
-  PREREQ_PM    => {
-    "namespace::clean" => '0.10',
-    "Test::More" => '0.88',
-    "namespace::autoclean" => '0',
-    "Test::Exception" => '0',
-    "MooseX::Types" => '0.20',
-    "Moose" => '0.90',
-  },
-  test => {TESTS => 't/*.t'}
-);
+use ExtUtils::MakeMaker 6.11;
+
+
+
+my %WriteMakefileArgs = (
+                       'test' => {
+                                   'TESTS' => 't/*.t'
+                                 },
+                       'NAME' => 'MooseX::MethodAttributes',
+                       'DISTNAME' => 'MooseX-MethodAttributes',
+                       'AUTHOR' => 'Florian Ragwitz <rafl@debian.org>, Tomas Doran <bobtfish@bobtfish.net>',
+                       'ABSTRACT' => 'code attribute introspection',
+                       'EXE_FILES' => [],
+                       'VERSION' => '0.20',
+                       'LICENSE' => 'perl',
+                       'PREREQ_PM' => {
+                                        'namespace::clean' => '0.10',
+                                        'Test::More' => '0.88',
+                                        'namespace::autoclean' => '0',
+                                        'Test::Exception' => '0',
+                                        'MooseX::Types' => '0.20',
+                                        'ExtUtils::MakeMaker' => '6.11',
+                                        'Moose' => '0.97'
+                                      }
+                     );
+
+
+delete $WriteMakefileArgs{LICENSE}
+  unless eval { ExtUtils::MakeMaker->VERSION(6.31) };
+
+WriteMakefile(%WriteMakefileArgs);
+
+
 
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution MooseX-MethodAttributes, version
-0.19:
+0.20:
 
   code attribute introspection
 
@@ -1,12 +1,12 @@
 name    = MooseX-MethodAttributes
-version = 0.19
+version = 0.20
 author  = Florian Ragwitz <rafl@debian.org>
 author  = Tomas Doran <bobtfish@bobtfish.net>
 license = Perl_5
 copyright_holder = Florian Ragwitz
 
 [Prereq]
-Moose = 0.90
+Moose = 0.97
 namespace::clean = 0.10
 namespace::autoclean = 0
 MooseX::Types = 0.20
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Inheritable;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: inheritable code attribute introspection
 
 
@@ -25,7 +25,7 @@ MooseX::MethodAttributes::Inheritable - inheritable code attribute introspection
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 SYNOPSIS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::AttrContainer::Inheritable;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: capture code attributes in the automatically initialized metaclass instance
 
 
@@ -29,7 +29,7 @@ MooseX::MethodAttributes::Role::AttrContainer::Inheritable - capture code attrib
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 DESCRIPTION
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::AttrContainer;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: capture code attributes in the class' metaclass
 
 use Moose::Role;
@@ -26,7 +26,7 @@ MooseX::MethodAttributes::Role::AttrContainer - capture code attributes in the c
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 METHODS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Class;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: metaclass role for storing code attributes
 
 use Moose::Role;
@@ -98,7 +98,7 @@ MooseX::MethodAttributes::Role::Meta::Class - metaclass role for storing code at
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 METHODS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Map;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: generic role for storing code attributes used by classes and roles with attributes
 
 use Moose::Role;
@@ -48,7 +48,7 @@ MooseX::MethodAttributes::Role::Meta::Map - generic role for storing code attrib
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 METHODS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Method::MaybeWrapped;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: proxy attributes of wrapped methods if their metaclass supports it
 
 use Moose::Role;
@@ -32,7 +32,7 @@ MooseX::MethodAttributes::Role::Meta::Method::MaybeWrapped - proxy attributes of
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 AUTHORS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Method::Wrapped;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: wrapped metamethod role allowing code attribute introspection
 
 use Moose::Role;
@@ -29,7 +29,7 @@ MooseX::MethodAttributes::Role::Meta::Method::Wrapped - wrapped metamethod role
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 METHODS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Method;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: metamethod role allowing code attribute introspection
 
 use Moose::Role;
@@ -36,7 +36,7 @@ MooseX::MethodAttributes::Role::Meta::Method - metamethod role allowing code att
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 ATTRIBUTES
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Role::Application::Summation;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: Role applied to the class responsible for role summation which ensures method attributes propagate from the roles being summed onto the combined role.
 
 use Moose::Role;
@@ -28,7 +28,7 @@ MooseX::MethodAttributes::Role::Meta::Role::Application::Summation - Role applie
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 AUTHORS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Role::Application;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: generic role for applying a role with method attributes to something
 
 use Moose::Role;
@@ -41,25 +41,7 @@ sub _apply_metaclasses {
     # into lies by the metatrait role application process, so we explicitly
     # re-fetch it here.
 
-    # Alternatively, for epic shits and giggles, the meta trait application
-    # process (onto $thing) may have applied roles to our metaclass, but (if
-    # $thing is an anon class, not correctly replaced it in the metaclass cache.
-    # This results in the DESTROY method in Class::MOP::Class r(eap|ape)ing the
-    # package, which is unfortunate, as it removes all your methods and superclasses.
-    # Therefore, we avoid that by ramming the metaclass we've just been handed into
-    # the cache without weakening it.
-
-    # I'm fairly sure the 2nd part of that is a Moose bug, and should go away..
-    # Unfortunately, the implication of that is that whenever you apply roles to a class,
-    # the metaclass instance can change, and so needs to be re-retrieved or handed back
-    # to the caller :/
-    if ($thing->can('is_anon_class') and $thing->is_anon_class) {
-        Class::MOP::store_metaclass_by_name($thing->name, $thing);
-    }
-    else {
-        return find_meta($thing->name);
-    }
-    return $thing;
+    return find_meta($thing->name);
 }
 
 1;
@@ -74,7 +56,7 @@ MooseX::MethodAttributes::Role::Meta::Role::Application - generic role for apply
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 METHODS
 
@@ -1,5 +1,5 @@
 package MooseX::MethodAttributes::Role::Meta::Role;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: metarole role for storing code attributes
 
 use Moose ();
@@ -65,7 +65,7 @@ sub _copy_attributes {
 # is now only present for backwards compatibility reasons.
 package # Hide from PAUSE
     Moose::Meta::Role::Custom::Trait::MethodAttributes;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 sub register_implementation { 'MooseX::MethodAttributes::Role::Meta::Role' }
 
@@ -82,7 +82,7 @@ MooseX::MethodAttributes::Role::Meta::Role - metarole role for storing code attr
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 SYNOPSIS
 
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package MooseX::MethodAttributes::Role;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: code attribute introspection
 
 use Moose ();
@@ -51,7 +51,7 @@ MooseX::MethodAttributes::Role - code attribute introspection
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 SYNOPSIS
 
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package MooseX::MethodAttributes;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 # ABSTRACT: code attribute introspection
 
 use Moose ();
@@ -57,7 +57,7 @@ MooseX::MethodAttributes - code attribute introspection
 
 =head1 VERSION
 
-version 0.19
+version 0.20
 
 =head1 SYNOPSIS
 
@@ -2,11 +2,11 @@ use strict;
 use warnings;
 
 package BaseClass::Meta::Role;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use Moose::Role;
 
 package BaseClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use Moose;
 use Moose::Util::MetaRole;
@@ -1,5 +1,5 @@
 package ClassUsingRoleWithAttributes;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use Moose;
 # FIXME - This should not have to be here.
 use MooseX::MethodAttributes;
@@ -1,5 +1,5 @@
 package OtherRoleWithAttributes;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use MooseX::MethodAttributes::Role;
 use namespace::clean -except => 'meta';
 
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package OtherSubClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use base qw/BaseClass/;
 
 # Must stay empty so that neither this class,
@@ -1,5 +1,5 @@
 package RoleWithAttributes;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use MooseX::MethodAttributes::Role;
 use namespace::clean -except => 'meta';
 
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package SubClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use Moose;
 BEGIN { extends 'BaseClass'; }
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package SubClassUseBaseAndUseMoose;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use base qw/BaseClass/;
 
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package SubSubClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use base qw/OtherSubClass/;
 
@@ -1,5 +1,5 @@
 package TestClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use Moose;
 use MooseX::MethodAttributes;
@@ -11,7 +11,7 @@ sub bar : SomeAttribute {}
 after foo => sub {};
 
 package SubClass;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 
 use Moose;
 use MooseX::MethodAttributes;
@@ -1,5 +1,5 @@
 package UsesMultipleRoles;
-our $VERSION = '0.19';
+our $VERSION = '0.20';
 use Moose;
 use namespace::clean -except => 'meta';