compatibility fixes for Class::MOP 0.93
edenc [Thu, 17 Sep 2009 18:14:04 +0000 (18:14 +0000)]
lib/Reaction/UI/Controller.pm
lib/Reaction/UI/Skin.pm

index 8ed781f..2d1b843 100644 (file)
@@ -11,7 +11,8 @@ with 'Catalyst::Component::InstancePerContext';
 
 sub build_per_context_instance {
   my ($self, $c, @args) = @_;
-  my $newself =  $self->new($self->_application, {%$self, context => $c, @args});
+  my $class = ref($self) || $self;
+  my $newself =  $class->new($self->_application, {%$self, context => $c, @args});
   return $newself;
 }
 
index 237279d..0683258 100644 (file)
@@ -71,6 +71,7 @@ sub _find_skin_dir {
 };
 sub _load_skin_config {
   my ($self, $args) = @_;
+  my $class = ref($self) || $self;
   my $base = $self->skin_dir;
   my $lst = sub { (ref $_[0] eq 'ARRAY') ? $_[0] : [$_[0]] };
   my @files = (
@@ -84,7 +85,7 @@ sub _load_skin_config {
               })}
             );
   if (my $super_name = $cfg{extends}) {
-    my $super = $self->new(
+    my $super = $class->new(
       name => $super_name,
       view => $self->view,
       skin_base_dir => $args->{skin_base_dir},