--- nfo/perl/libs/Data/Rap/Command.pm 2003/02/20 19:37:09 1.2 +++ nfo/perl/libs/Data/Rap/Command.pm 2003/03/29 07:10:42 1.6 @@ -1,7 +1,21 @@ ## ---------------------------------------------------------------------- -## $Id: Command.pm,v 1.2 2003/02/20 19:37:09 joko Exp $ +## $Id: Command.pm,v 1.6 2003/03/29 07:10:42 joko Exp $ ## ---------------------------------------------------------------------- ## $Log: Command.pm,v $ +## Revision 1.6 2003/03/29 07:10:42 joko +## + sub _script: +## new rap-command: '' +## +## Revision 1.5 2003/03/27 15:31:04 joko +## fixes to modules regarding new namespace(s) below Data::Mungle::* +## +## Revision 1.4 2003/02/22 16:48:58 joko +## modified rapcall behaviour +## +## Revision 1.3 2003/02/21 07:39:13 joko +## modified 'rapcall' processing +## modified merging of options/arguments in there +## ## Revision 1.2 2003/02/20 19:37:09 joko ## renamed modules ## - removed command 'exec' @@ -26,7 +40,7 @@ use Hash::Merge qw( merge ); use DesignPattern::Object; -use Data::Transform::Deep qw( merge_to ); +use Data::Mungle::Transform::Deep qw( merge_to ); use shortcuts qw( run_cmd ); @@ -210,21 +224,27 @@ my $args = shift; if (my $container = $self->getContainer()) { - my $opts = merge($container, $args); - if ($opts->{executable}) { - $self->run_executable($opts); - } + #my $opts = merge($container, $args); + #print Dumper($container); + merge_to($args, $container, { init => 1 }); + } + + # trace + #print Dumper($args); - #print Dumper($opts); + if ($args->{executable}) { + $self->run_executable($args); return; } if (my $command = $args->{command}) { $self->perform_command($command, $args); + return; } if (my $target = $args->{target}) { $self->performTarget($target, $args); + return; } if (my $method = $args->{method}) { @@ -238,6 +258,9 @@ } elsif (my $ref = $self->getInstance()) { $ref->$method(); } + + return; + } } @@ -254,6 +277,21 @@ $self->setInstance($self->{$name}) if $args->{type} eq 'instance'; } +sub _script { + my $self = shift; + my $args = shift; + my $content = shift; + + # trace + #print Dumper($args); + #print Dumper($content); + + my $code = $content->[0]->{content}; + $code ||= ''; + + $self->run_script($args, $code); + +} 1; __END__