BioX-Workflow-Command
view release on metacpan or search on metacpan
lib/BioX/Workflow/Command/run/Rules/Directives/Inspect.pm view on Meta::CPAN
package BioX::Workflow::Command::run::Rules::Directives::Inspect;
use Moose::Role;
use namespace::autoclean;
use Data::Dumper;
use Storable qw(dclone);
use YAML;
use BioX::Workflow::Command::run::Rules::Directives::Exceptions::DidNotDeclare;
use BioX::Workflow::Command::run::Rules::Directives::Exceptions::SyntaxError;
with 'BioX::Workflow::Command::inspect::Utils::ParsePlainText';
has 'inspect_obj' => (
is => 'rw',
isa => 'HashRef',
default => sub { return {} },
);
has 'path' => (
is => 'rw',
isa => 'Str',
required => 0,
predicate => 'has_path',
);
sub return_rule_as_obj {
my $self = shift;
my $attr = shift;
my $clean = {};
$self->get_line_number_rules;
foreach my $key ( @{ $self->rule_keys } ) {
my $t = $self->check_path( $attr->$key );
$t =~ s/__DUMMYSAMPLE123456789__/Sample_XYZ/g;
$clean->{$key} = $t;
$self->get_error_message( $key, $t );
}
my @haves = ( 'indir', 'outdir', 'INPUT', 'OUTPUT', 'stash' );
foreach my $h (@haves) {
next if exists $clean->{$h};
my $t = $self->check_path( $attr->$h );
$t =~ s/__DUMMYSAMPLE123456789__/Sample_XYZ/g;
$clean->{$h} = $t;
$self->get_error_message( $h, $t );
}
$self->inspect_obj->{rules}->{ $self->rule_name }->{local} = $clean;
$self->inspect_obj->{rules}->{ $self->rule_name }->{rule_keys} =
dclone( $self->rule_keys );
return $clean;
}
sub return_global_as_object {
my $self = shift;
$self->get_global_keys;
my $attr = dclone( $self->global_attr );
$attr->walk_process_data( $self->global_keys );
( run in 0.521 second using v1.01-cache-2.11-cpan-39bf76dae61 )