1 |
package Frey::Pipe; |
package Frey::Pipe; |
2 |
use Moose; |
use Moose; |
3 |
|
|
4 |
|
with 'Frey::Config'; |
5 |
|
|
6 |
=head1 DESCRIPTION |
=head1 DESCRIPTION |
7 |
|
|
8 |
Shell pipes for structured data |
Shell pipes for structured data |
46 |
$params->{$name} = $value; |
$params->{$name} = $value; |
47 |
} split(/[\s\+]/, $args) |
} split(/[\s\+]/, $args) |
48 |
} |
} |
49 |
|
my $default = $self->config( $class ); |
50 |
|
foreach my $arg ( keys %$default ) { |
51 |
|
$params->{$arg} = $default->{$arg} if ! $params->{$arg}; |
52 |
|
} |
53 |
my $code = '$result = ' . $class . '->new' . dump( %$params ) . '->' . $method . '();'; |
my $code = '$result = ' . $class . '->new' . dump( %$params ) . '->' . $method . '();'; |
54 |
warn "# pipe $part -> $code"; |
warn "# pipe $part -> $code"; |
55 |
my $result; |
my $result; |
56 |
eval $code; |
eval $code; |
57 |
die $@ if $@; |
die $@ if $@; |
58 |
warn "# result ",ref( $result ); |
warn "# result ",ref( $result ); |
59 |
$out .= qq{<code>$part</code>} . dump( $result ) . '<hr>'; |
# $out .= qq{<span class="frey-popdown">$part<code>} . dump( $result ) . '</code><span><hr>'; |
60 |
|
$out = $result; |
61 |
$pipe = { $method => $result }; |
$pipe = { $method => $result }; |
62 |
} else { |
} else { |
63 |
die "don't know what to do with '$part' from ",$self->pipe; |
die "don't know what to do with '$part' from ",$self->pipe; |