TAP::Parser::Source - perldoc.perl.org

Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# TAP::Parser::Source

Perl 5 version 12.2 documentation
Go to top
Show page index • Show recent pages
Recently read

# TAP::Parser::Source

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
  - Class Methods
  - Instance Methods
- SUBCLASSING
  - Example
- SEE ALSO

# 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,

Page index

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
  - Class Methods
  - Instance Methods
- SUBCLASSING
  - Example
- SEE ALSO