- Fix development server so that $c->engine->env returns the correct
environment (t0m)
- Require Moose 0.78 to fix metaclass incompatibility issues (t0m)
+ - Require MooseX::MethodAttributes 0.10 and use
+ Moose::Meta::Class->initialize rather than Moose->init_meta to fix
+ bugs related to having a 'meta' method in your controller (t0m)
5.80003 2009-04-29 16:23:53
- Various POD tweaks. (hdp, dandv)
requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00801';
requires 'Class::MOP' => '0.83';
requires 'Moose' => '0.78';
-requires 'MooseX::MethodAttributes::Inheritable' => '0.09';
+requires 'MooseX::MethodAttributes::Inheritable' => '0.10';
requires 'Carp';
requires 'Class::C3::Adopt::NEXT' => '0.07';
requires 'CGI::Simple::Cookie';
package Catalyst;
use Moose;
+use Moose::Meta::Class ();
extends 'Catalyst::Component';
use Moose::Util qw/find_meta/;
use bytes;
sub _controller_init_base_classes {
my ($app_class, $component) = @_;
foreach my $class ( reverse @{ mro::get_linear_isa($component) } ) {
- Moose->init_meta( for_class => $class )
+ Moose::Meta::Class->initialize( $class )
unless find_meta($class);
}
}
package Catalyst::ClassData;
use Moose::Role;
+use Moose::Meta::Class ();
use Class::MOP;
use Moose::Util ();
my $accessor = sub {
my $pkg = ref $_[0] || $_[0];
my $meta = Moose::Util::find_meta($pkg)
- || Moose->init_meta( for_class => $pkg );
+ || Moose::Meta::Class->initialize( $pkg );
if (@_ > 1) {
$meta->namespace->{$attribute} = \$_[1];
return $_[1];
--- /dev/null
+package TestAppWithMeta;
+use strict;
+use warnings;
+use Catalyst;
+
+no warnings 'redefine';
+sub meta {}
+use warnings 'redefine';
+
+__PACKAGE__->setup;
+
+1;
+
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/lib";
-use Test::More tests => 2;
+use Test::More tests => 1;
use Test::Exception;
use Carp ();
# This is/was demonstrated by Catalyst::Controller::WrapCGI
# and Catalyst::Plugin::Cache::Curried
-{
- package TestAppWithMeta;
- use Catalyst;
- no warnings 'redefine';
- sub meta {}
-}
-BEGIN {
- lives_ok { TestAppWithMeta->setup } 'Can setup an app which defines its own meta method';
-}
-
use Catalyst::Test 'TestAppWithMeta';
ok( request('/')->is_success );