From: Dobrica Pavlinusic Date: Sat, 19 Jun 2010 13:30:02 +0000 (+0200) Subject: show all applicable code snippets X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=01daa04c8b57d1debaffff8659f94b57c77a5313;hp=0514716c2797396d02f29f29609541e37a6d655f;p=MojoFacets.git show all applicable code snippets This required us to check if current dataset (using columns) has all applicable columns for given dataset --- diff --git a/lib/MojoFacets/Code.pm b/lib/MojoFacets/Code.pm index 5b87a16..7388ca4 100644 --- a/lib/MojoFacets/Code.pm +++ b/lib/MojoFacets/Code.pm @@ -12,6 +12,7 @@ sub index { my $self = shift; $self->redirect_to('/data/columns') unless $self->session('columns'); + my $columns = { map { $_ => 1 } @{ $self->session('columns') } }; my $dir = $self->app->home->rel_dir('public') . '/code'; @@ -21,8 +22,15 @@ sub index { my $path = $full_path; $path =~ s/^$dir\/*//; $path =~ s/\.pl$//; - my ( $column, $description ) = split(/\./,$path,2); - $snippets->{$column}->{$description} = read_file $full_path; + my ( $depends, $description ) = split(/\./,$path,2); + + my @deps = split(/,/,$depends); + my $found = -1; + $found += $columns->{$_} foreach @deps; +warn "# depends $depends $found $#deps\n"; + next unless $found == $#deps; + + $snippets->{$depends}->{$description} = read_file $full_path; } $self->render( diff --git a/templates/code/index.html.ep b/templates/code/index.html.ep index 305b662..d2599b7 100644 --- a/templates/code/index.html.ep +++ b/templates/code/index.html.ep @@ -1,21 +1,19 @@ % layout 'default';

Code snippets

- -% foreach my $column ( @{ session('columns') } ) { -% next unless defined $snippets->{$column}; -

<%= $column %>

+% foreach my $depends ( keys %$snippets ) { +

<%= $depends %>