On Thu, May 07, 2009 at 02:45:09PM +0100, Tomas Doran wrote:
> You should just be able to remove the accessor module from the  
> inheritance here.
>
> A lot of your changes change NEXT::foo => next::method. Do you really  
> mean that, or do you mean maybe::next::method? (especially the one where  
> you say if $self->next::can;
>
> Your patch also uses Class::C3, rather than MRO::Compat, so people on  
> perl 5.10 will load Class::C3 (which is not needed) - can you use  
> MRO::Compat instead? Also, can you add the new dependency to Makefile.PL

Attempt #2 attached - I think it covers everything mentioned above.

Tests still pass.

Running the patch from the top level with "-p 1" should work:

chi...@wiggin:Catalyst-Controller-FormBuilder-0.04-orig$ patch -p 1 --dry-run < 
../catalyst-controller-formbuilder.patch 
patching file lib/Catalyst/Controller/FormBuilder/Action.pm
patching file lib/Catalyst/Controller/FormBuilder.pm
patching file Makefile.PL
patching file t/lib/TestApp/Component/HTML/Template.pm
patching file t/lib/TestApp/Component/Mason.pm
patching file t/lib/TestApp/Component/TT.pm
chi...@wiggin:Catalyst-Controller-FormBuilder-0.04-orig$ 

Chisel
-- 
Chisel Wright
e: [email protected]
w: http://www.herlpacker.co.uk/

  SELECT message FROM signatures ORDER BY RANDOM() LIMIT 1;
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/lib/Catalyst/Controller/FormBuilder/Action.pm Catalyst-Controller-FormBuilder-0.04/lib/Catalyst/Controller/FormBuilder/Action.pm
--- Catalyst-Controller-FormBuilder-0.04-orig/lib/Catalyst/Controller/FormBuilder/Action.pm	2007-06-18 12:42:15.000000000 +0100
+++ Catalyst-Controller-FormBuilder-0.04/lib/Catalyst/Controller/FormBuilder/Action.pm	2009-05-07 18:32:26.000000000 +0100
@@ -5,10 +5,10 @@
 use CGI::FormBuilder::Source::File;
 use File::Spec;
 use Class::Inspector;
-use NEXT;
+use MRO::Compat;
 use Scalar::Util ();
 
-use base qw/Catalyst::Action Class::Accessor::Fast Class::Data::Inheritable/;
+use base qw/Catalyst::Action Class::Data::Inheritable/;
 
 __PACKAGE__->mk_classdata(qw/_source_class/);
 __PACKAGE__->mk_accessors(qw/_attr_params _source_type/);
@@ -126,7 +126,7 @@
     my $self = shift;
     my ( $controller, $c ) = @_;
 
-    return $self->NEXT::execute(@_)
+    return $self->maybe::next::method(@_)
       unless exists $self->attributes->{ActionClass}
       && $self->attributes->{ActionClass}[0] eq
       $controller->_fb_setup->{action};
@@ -134,7 +134,7 @@
     my $form = $self->_setup_form(@_);
     Scalar::Util::weaken($form->{c});
     $controller->_formbuilder($form);
-    $self->NEXT::execute(@_);
+    $self->maybe::next::method(@_);
     $controller->_formbuilder($form);   # keep the same form in case of forwards
 
     $self->setup_template_vars( @_ );
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/lib/Catalyst/Controller/FormBuilder.pm Catalyst-Controller-FormBuilder-0.04/lib/Catalyst/Controller/FormBuilder.pm
--- Catalyst-Controller-FormBuilder-0.04-orig/lib/Catalyst/Controller/FormBuilder.pm	2007-06-18 12:42:33.000000000 +0100
+++ Catalyst-Controller-FormBuilder-0.04/lib/Catalyst/Controller/FormBuilder.pm	2009-05-07 18:36:38.000000000 +0100
@@ -1,7 +1,7 @@
 package Catalyst::Controller::FormBuilder;
 
 use strict;
-use base qw/Catalyst::Controller Class::Accessor::Fast/;
+use base qw/Catalyst::Controller/;
 
 our $VERSION = "0.04";
 
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/Makefile.PL Catalyst-Controller-FormBuilder-0.04/Makefile.PL
--- Catalyst-Controller-FormBuilder-0.04-orig/Makefile.PL	2007-06-18 12:47:41.000000000 +0100
+++ Catalyst-Controller-FormBuilder-0.04/Makefile.PL	2009-05-07 18:37:31.000000000 +0100
@@ -7,7 +7,7 @@
 
 requires 'CGI::FormBuilder'               => '3.02';
 requires 'Catalyst::Runtime'              => '5.7';
-requires 'Class::Accessor::Fast'          => '0.25';
+requires 'MRO::Compat'                    => '0.09';
 requires 'Test::WWW::Mechanize::Catalyst' => '0.37';
 requires 'Tie::IxHash'                    => '1.21';
 requires 'Class::Data::Inheritable'       => '0.04';
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/HTML/Template.pm Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/HTML/Template.pm
--- Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/HTML/Template.pm	2006-11-28 21:33:25.000000000 +0000
+++ Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/HTML/Template.pm	2009-05-07 18:33:48.000000000 +0100
@@ -3,17 +3,22 @@
 use strict;
 use base 'Catalyst::View::HTML::Template';
 
+use MRO::Compat;
+
 sub new {
     my $self = shift;
+
+    # force stringification, Moose validation only accepts a Str
+    my $path = TestApp->path_to( 'root', 'src', 'tmpl' ) . q{};
+
     $self->config(
         {
             die_on_bad_params => 0,
-            path              => [
-                TestApp->path_to( 'root', 'src', 'tmpl' ),
-            ],
+            path              => $path,
         },
     );
-    return $self->NEXT::new(@_);
+    
+    return $self = $self->maybe::next::method(@_)
 }
 
 1;
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/Mason.pm Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/Mason.pm
--- Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/Mason.pm	2006-11-28 21:33:25.000000000 +0000
+++ Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/Mason.pm	2009-05-07 18:33:22.000000000 +0100
@@ -3,13 +3,15 @@
 use strict;
 use base 'Catalyst::View::Mason';
 
+use MRO::Compat;
+
 sub new {
     my $self = shift;
 
     my $comp_root = TestApp->path_to( 'root', 'src', 'mason' );
     $self->config->{comp_root} = "$comp_root";
 
-    return $self->NEXT::new(@_);
+    return $self = $self->maybe::next::method(@_)
 }
 
 1;
diff -Naur Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/TT.pm Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/TT.pm
--- Catalyst-Controller-FormBuilder-0.04-orig/t/lib/TestApp/Component/TT.pm	2006-11-28 21:33:25.000000000 +0000
+++ Catalyst-Controller-FormBuilder-0.04/t/lib/TestApp/Component/TT.pm	2009-05-07 18:33:03.000000000 +0100
@@ -3,6 +3,8 @@
 use strict;
 use base 'Catalyst::View::TT';
 
+use MRO::Compat;
+
 sub new {
     my $self = shift;
     $self->config(
@@ -16,7 +18,8 @@
             TIMER              => 0,
         }
     );
-    return $self->NEXT::new(@_);
+    
+    return $self = $self->maybe::next::method(@_)
 }
 
 1;
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to