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 )