[Catalyst-commits] r13168 - in
Catalyst-Runtime/5.80/branches/more_metaclass_compat: lib t/lib
t0m at dev.catalyst.perl.org
t0m at dev.catalyst.perl.org
Mon Apr 19 02:02:36 GMT 2010
Author: t0m
Date: 2010-04-19 03:02:36 +0100 (Mon, 19 Apr 2010)
New Revision: 13168
Modified:
Catalyst-Runtime/5.80/branches/more_metaclass_compat/lib/Catalyst.pm
Catalyst-Runtime/5.80/branches/more_metaclass_compat/t/lib/TestApp.pm
Log:
Remove the fugly hack to avoid metaclass compat issues now that Moose is fixed
Modified: Catalyst-Runtime/5.80/branches/more_metaclass_compat/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/more_metaclass_compat/lib/Catalyst.pm 2010-04-19 01:57:27 UTC (rev 13167)
+++ Catalyst-Runtime/5.80/branches/more_metaclass_compat/lib/Catalyst.pm 2010-04-19 02:02:36 UTC (rev 13168)
@@ -2408,10 +2408,6 @@
# we know M::P::O found a file on disk so this is safe
Catalyst::Utils::ensure_class_loaded( $component, { ignore_loaded => 1 } );
-
- # Needs to be done as soon as the component is loaded, as loading a sub-component
- # (next time round the loop) can cause us to get the wrong metaclass..
- $class->_controller_init_base_classes($component);
}
for my $component (@comps) {
@@ -2421,7 +2417,6 @@
: $class->expand_component_module( $component, $config );
for my $component (@expanded_components) {
next if $comps{$component};
- $class->_controller_init_base_classes($component); # Also cover inner packages
$class->components->{ $component } = $class->setup_component($component);
}
}
@@ -2474,19 +2469,6 @@
=cut
-# FIXME - Ugly, ugly hack to ensure the we force initialize non-moose base classes
-# nearest to Catalyst::Controller first, no matter what order stuff happens
-# to be loaded. There are TODO tests in Moose for this, see
-# f2391d17574eff81d911b97be15ea51080500003
-sub _controller_init_base_classes {
- my ($app_class, $component) = @_;
- return unless $component->isa('Catalyst::Controller');
- foreach my $class ( reverse @{ mro::get_linear_isa($component) } ) {
- Moose::Meta::Class->initialize( $class )
- unless find_meta($class);
- }
-}
-
sub setup_component {
my( $class, $component ) = @_;
Modified: Catalyst-Runtime/5.80/branches/more_metaclass_compat/t/lib/TestApp.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/more_metaclass_compat/t/lib/TestApp.pm 2010-04-19 01:57:27 UTC (rev 13167)
+++ Catalyst-Runtime/5.80/branches/more_metaclass_compat/t/lib/TestApp.pm 2010-04-19 02:02:36 UTC (rev 13168)
@@ -20,6 +20,11 @@
TestApp->config( name => 'TestApp', root => '/some/dir' );
+# Test bug found when re-adjusting the metaclass compat code in Moose
+# in 292360. Test added to Moose in 4b760d6, but leave this attribute
+# above ->setup so we have some generated methods to be double sure.
+has an_attribute_before_we_change_base_classes => ( is => 'ro');
+
if ($::setup_leakchecker && eval { Class::MOP::load_class('CatalystX::LeakChecker'); 1 }) {
with 'CatalystX::LeakChecker';
More information about the Catalyst-commits
mailing list