Ask
view release on metacpan or search on metacpan
lib/Ask/Fallback.pm view on Meta::CPAN
use 5.008008;
use strict;
use warnings;
package Ask::Fallback;
our $AUTHORITY = 'cpan:TOBYINK';
our $VERSION = '0.015';
use Moo;
use Carp qw(croak);
use Path::Tiny qw(path);
use namespace::autoclean;
with 'Ask::API';
sub quality {
return 1;
}
sub info {
my ( $self, %o ) = @_;
print STDERR "$o{text}\n";
}
sub warning {
my ( $self, %o ) = @_;
print STDERR "WARNING: $o{text}\n";
}
sub error {
my ( $self, %o ) = @_;
print STDERR "ERROR: $o{text}\n";
}
sub question {
my ( $self, %o ) = @_;
exists $o{default} and return $o{default};
croak "question (Ask::Fallback) with no default";
}
sub entry {
my ( $self, %o ) = @_;
exists $o{default} and return $o{default};
croak "entry (Ask::Fallback) with no default";
}
sub file_selection {
my ( $self, %o ) = @_;
$o{multiple} and exists $o{default} and return map path( $_ ), @{ $o{default} };
exists $o{default} and return path $o{default};
croak "file_selection (Ask::Fallback) with no default";
}
sub single_choice {
my ( $self, %o ) = @_;
exists $o{default} and return $o{default};
croak "single_choice (Ask::Fallback) with no default";
}
sub multiple_choice {
my ( $self, %o ) = @_;
exists $o{default} and return @{ $o{default} };
croak "multiple_choice (Ask::Fallback) with no default";
}
1;
__END__
=head1 NAME
Ask::Fallback - backend for unattended scripts
( run in 0.766 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )