| 462 | | my $flavours = $self->_collect_flavours; |
| 463 | | $self->_show_flavours_list($flavours); |
| 464 | | |
| 465 | | my $selected = prompt( "Select flavour:", 1 ); |
| 466 | | $flavours->[ $selected - 1 ] || 'default'; |
| 467 | | } |
| 468 | | |
| 469 | | sub _collect_flavours { |
| | 462 | my $flavors = $self->_collect_flavors; |
| | 463 | $self->_show_flavors_list($flavors); |
| | 464 | |
| | 465 | my $selected = prompt( "Select flavor:", 1 ); |
| | 466 | $flavors->[ $selected - 1 ] || 'default'; |
| | 467 | } |
| | 468 | |
| | 469 | sub _collect_flavors { |
| 471 | | my $flavours_dir = $self->module_setup_dir('flavors'); |
| 472 | | my $flavours = []; |
| 473 | | for my $flavour ( $flavours_dir->children ) { |
| 474 | | if ( $flavour->is_dir ) { |
| 475 | | my $flavour_name = pop @{ $flavour->{dirs} }; |
| 476 | | push @$flavours, $flavour_name; |
| 477 | | } |
| 478 | | } |
| 479 | | $flavours; |
| 480 | | } |
| 481 | | |
| 482 | | sub _show_flavours_list { |
| 483 | | my ( $self, $flavours ) = @_; |
| 484 | | for ( 1 .. @$flavours ) { |
| 485 | | my $flavour = $flavours->[ $_ - 1 ]; |
| 486 | | print sprintf "[%d]: %s", $_, $flavour . "\n"; |
| | 471 | my $flavors_dir = $self->module_setup_dir('flavors'); |
| | 472 | my $flavors = []; |
| | 473 | for my $flavor ( $flavors_dir->children ) { |
| | 474 | if ( $flavor->is_dir ) { |
| | 475 | my $flavor_name = pop @{ $flavor->{dirs} }; |
| | 476 | push @$flavors, $flavor_name; |
| | 477 | } |
| | 478 | } |
| | 479 | $flavors; |
| | 480 | } |
| | 481 | |
| | 482 | sub _show_flavors_list { |
| | 483 | my ( $self, $flavors ) = @_; |
| | 484 | for ( 1 .. @$flavors ) { |
| | 485 | my $flavor = $flavors->[ $_ - 1 ]; |
| | 486 | print sprintf "[%d]: %s", $_, $flavor . "\n"; |