Changeset 20918

Show
Ignore:
Timestamp:
10/07/08 19:52:39 (3 months ago)
Author:
yappo
Message:

refactoring

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Module-Setup/trunk/lib/Module/Setup.pm

    r20911 r20918  
    461461 
    462462sub select_flavor { 
    463     my $self     = shift; 
     463    my $self = shift; 
    464464    return 'default' unless -d $self->module_setup_dir('flavors'); 
    465465 
    466     my $flavors = $self->_collect_flavors; 
    467     $self->_show_flavors_list($flavors); 
    468  
    469     my $selected = $self->dialog( 'Select flavor:', 1 ); 
    470     $flavors->[ $selected - 1 ] || 'default'; 
    471 } 
    472  
    473 sub _collect_flavors { 
    474     my $self         = shift; 
    475     my $flavors_dir = $self->module_setup_dir('flavors'); 
    476     my $flavors     = []; 
    477     for my $flavor ( $flavors_dir->children ) { 
    478         if ( $flavor->is_dir ) { 
    479             my $flavor_name = pop @{ $flavor->{dirs} }; 
    480             push @$flavors, $flavor_name; 
    481         } 
    482     } 
    483     $flavors; 
    484 } 
    485  
    486 sub _show_flavors_list { 
    487     my ( $self, $flavors ) = @_; 
    488     for ( 1 .. @$flavors ) { 
    489         my $flavor = $flavors->[ $_ - 1 ]; 
    490         print sprintf "[%d]: %s", $_, $flavor . "\n"; 
    491     } 
    492 } 
     466    my $num = 1; 
     467    my @flavors; 
     468    for my $flavor ( $self->module_setup_dir('flavors')->children ) { 
     469        next unless $flavor->is_dir; 
     470 
     471        my $name = $flavor->dir_list(-1); 
     472        push @flavors, $name; 
     473 
     474        $self->log( sprintf "[%d]: %s", $num++, $name ); 
     475    } 
     476 
     477    my $selected = $self->dialog( 'Select flavor:', 1 ) || 1; 
     478    $flavors[ $selected - 1 ] || 'default'; 
     479} 
     480 
    4934811; 
    494482__END__