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/