rel_dir is replaced with rel_file
[MojoFacets.git] / lib / MojoFacets / Code.pm
index 703008d..64ce144 100644 (file)
@@ -8,12 +8,12 @@ use base 'Mojolicious::Controller';
 use Data::Dump qw(dump);
 use File::Slurp;
 
-sub _code_dir { $_[0]->app->home->rel_dir('public') . '/code' }
+sub _code_dir { $_[0]->app->home->rel_file('public') . '/code' }
 
 sub index {
        my $self = shift;
 
-       $self->redirect_to('/data/columns') unless $self->session('columns');
+       return $self->redirect_to('/data/columns') unless $self->session('columns');
        my $columns = { map { $_ => 1 } @{ $self->session('columns') } };
 
        if ( $self->param('all_columns') ) {
@@ -23,6 +23,7 @@ sub index {
        my $dir = $self->_code_dir;
 
        my $snippets;
+       my $no_deps;
 
        foreach my $full_path ( glob("$dir/*.pl") ) {
                my $path = $full_path;
@@ -34,13 +35,19 @@ sub index {
                my $found = -1;
                $found += $columns->{$_} foreach @deps;
 warn "# depends $depends $found $#deps\n";
-               next unless $found == $#deps || $self->param('all_code');
+
+               if ( $found != $#deps ) {
+                       $self->param('all_code') ? $no_deps->{$depends}->{$description}++ : next;
+               }
 
                $snippets->{$depends}->{$description} = read_file $full_path, binmode => ':utf8';
        }
 
+warn "# no_deps ",dump($no_deps);
+
        $self->render(
                snippets => $snippets,
+               no_deps => $no_deps,
        );
 }
 
@@ -49,7 +56,7 @@ sub remove {
        if ( my $path = $self->param('path') ) {
                unlink $self->_code_dir . '/' . $path;
        }
-       $self->redirect_to('/code');
+       return $self->redirect_to('/code');
 }
 
 1;