From 01daa04c8b57d1debaffff8659f94b57c77a5313 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sat, 19 Jun 2010 15:30:02 +0200 Subject: [PATCH] show all applicable code snippets This required us to check if current dataset (using columns) has all applicable columns for given dataset --- lib/MojoFacets/Code.pm | 12 ++++++++++-- templates/code/index.html.ep | 14 ++++++-------- 2 files changed, 16 insertions(+), 10 deletions(-) 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 %>