fuzzy select lookup dataset name
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 31 Mar 2011 17:40:18 +0000 (19:40 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 31 Mar 2011 17:40:18 +0000 (19:40 +0200)
lib/MojoFacets/Data.pm

index 83fce08..9f4d53e 100644 (file)
@@ -651,6 +651,14 @@ sub lookup {
        warn "# lookup ",dump @_;
        my ( $vals, $on_path, $on_col, $code ) = @_;
        die "code is not sub{ ... } but ", dump $code unless ref $code eq 'CODE';
+
+       if ( ! exists $loaded->{$on_path} ) {
+               my @possible_paths = grep { /\Q$on_path\E/ } keys %$loaded;
+               die "more than one dataset available for '$on_path' ",dump @possible_paths if $#possible_paths > 0;
+               $on_path = shift @possible_paths;
+               warn "## fuzzy selected path $on_path";
+       }
+
        my $items = $loaded->{$on_path}->{data}->{items} || die "no items for $on_path";
 
        if ( ! exists $lookup_path_col->{$on_path}->{$on_col} ) {