DistroWatch Weekly, Issue 396


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News DistroWatch Weekly, Issue 396
# 1  
Old 03-14-2011
DistroWatch Weekly, Issue 396

Source...
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
TAP::Parser::Source(3pm)				 Perl Programmers Reference Guide				  TAP::Parser::Source(3pm)

NAME
TAP::Parser::Source - Stream output from some source VERSION
Version 3.17 SYNOPSIS
use TAP::Parser::Source; my $source = TAP::Parser::Source->new; my $stream = $source->source(['/usr/bin/ruby', 'mytest.rb'])->get_stream; DESCRIPTION
Takes a command and hopefully returns a stream from it. METHODS
Class Methods "new" my $source = TAP::Parser::Source->new; Returns a new "TAP::Parser::Source" object. Instance Methods "source" my $source = $source->source; $source->source(['./some_prog some_test_file']); # or $source->source(['/usr/bin/ruby', 't/ruby_test.rb']); Getter/setter for the source. The source should generally consist of an array reference of strings which, when executed via &IPC::Open3::open3, should return a filehandle which returns successive rows of TAP. "croaks" if it doesn't get an arrayref. "get_stream" my $stream = $source->get_stream; Returns a TAP::Parser::Iterator stream of the output generated by executing "source". "croak"s if there was no command found. Must be passed an object that implements a "make_iterator" method. Typically this is a TAP::Parser instance. "merge" my $merge = $source->merge; Sets or returns the flag that dictates whether STDOUT and STDERR are merged. SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. Example package MyRubySource; use strict; use vars '@ISA'; use Carp qw( croak ); use TAP::Parser::Source; @ISA = qw( TAP::Parser::Source ); # expect $source->(['mytest.rb', 'cmdline', 'args']); sub source { my ($self, $args) = @_; my ($rb_file) = @$args; croak("error: Ruby file '$rb_file' not found!") unless (-f $rb_file); return $self->SUPER::source(['/usr/bin/ruby', @$args]); } SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Source::Perl, perl v5.12.1 2010-04-26 TAP::Parser::Source(3pm)