allow redirect_to a url parameter
[catagits/Reaction.git] / lib / Reaction / UI / Skin.pm
index 79d67c0..0683258 100644 (file)
@@ -7,6 +7,7 @@ use Reaction::UI::LayoutSet;
 use Reaction::UI::RenderingContext;
 use File::ShareDir;
 use File::Basename;
+use Config::Any;
 
 use aliased 'Path::Class::Dir';
 
@@ -70,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 = (
@@ -78,12 +80,12 @@ sub _load_skin_config {
   # we get [ { $file => $conf }, ... ]
   my %cfg = (map { %{(values %{$_})[0]} }
               @{Config::Any->load_files({
-                files => [ grep { -e $_ } @files ],
+                files => [ grep { -e $_ } map { $_->stringify } @files ],
                 use_ext => 1,
               })}
             );
   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},