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 )