Fry::View::CLI - Default View plugin for Fry::Shell displaying to the commandline.


Fry-Shell documentation Contained in the Fry-Shell distribution.

Index


Code Index:

NAME

Top

Fry::View::CLI - Default View plugin for Fry::Shell displaying to the commandline.

CLASS METHODS

Top

AUTHOR

Top

Me. Gabriel that is. I welcome feedback and bug reports to cldwalker AT chwhat DOT com . If you like using perl,linux,vim and databases to make your life easier (not lazier ;) check out my website at www.chwhat.com.

COPYRIGHT & LICENSE

Top


Fry-Shell documentation Contained in the Fry-Shell distribution.

package Fry::View::CLI;
use base 'Fry::Base';
use strict;

#our ($o); 
sub setup {}
sub view ($@) { 
	my ($cls,@data) = @_;
	no strict 'refs'; 
	#print $o->Var('fh'),":\n";
	print { $cls->Var('fh') } "@data" ;
}
sub list ($@) {
	my ($cls,@lines) = @_;
	my ($i,$output);

	for (@lines) {
		$i++;
		$output .=  "$i: " ; #if ($class->_flag->{menu});
		$output .=  "$_\n";	
	}
	$cls->view($output);
}
sub hash ($\%\%) {
	my ($cls,$data,$opt) = @_;
	my $output;
	#uninit s///
	no warnings;

	#while (my ($k,$v) = each %$data) {
	for my $k (($opt->{sort}) ? sort keys %$data : keys %$data) {
		$output .= "$k: ";
		#$v =~ s/^|$/'/g if ($opt->{quote});
		$data->{$k} =~ s/^/'/g if ($opt->{quote});
		$data->{$k} =~ s/$/'/g if ($opt->{quote});
		$output .= $data->{$k}."\n";
	}
	$cls->view($output);
}
sub arrayOfArrays($@) {
	my ($cls,@data) = @_;
	my $output;
	for my $row (@data) {
		$output .= join($cls->Var('field_delimiter'),@$row) . "\n";
	}
	$cls->view($output);
}
sub file ($$$) {
	my ($cls,$file,$data,$options) = @_;
	open (FILE,'>',$file) or do {warn("Couldn't open filehandle for file $file");return };
	my $oldfh = $cls->Var('fh');
	$cls->setVar(fh=>'FILE');
	$cls->view($data);
	close FILE;
	$cls->setVar(fh=>$oldfh);
}
sub objAoH_dt ($@) {
	my ($cls,$data,$col) = @_;
	my $output;
	my $i;

	for my $row  (@$data) {
		if ($cls->Flag('menu')) { $i++; $output .= "$i: "; }
		$output .= join ($cls->Var('field_delimiter'),map {$row->$_} @$col) ."\n" ;
	}
	return $output;
}
sub objAoH ($@) { $_[0]->view(shift->objAoH_dt(@_)); }
	#my ($cls,$data,$col) = @_;
1;

__END__