BioX-Workflow-Command

 view release on metacpan or  search on metacpan

lib/BioX/Workflow/Command/run/Rules/Rules.pm  view on Meta::CPAN

package BioX::Workflow::Command::run::Rules::Rules;

use MooseX::App::Role;
use namespace::autoclean;

use Storable qw(dclone);
#use Data::Merger qw(merger);
use Data::Dumper;
use File::Path qw(make_path remove_tree);
use Try::Tiny;
use Path::Tiny;
use MCE::Map;
use Algorithm::Loops qw(NestedLoops);

use BioSAILs::Utils::Traits qw(ArrayRefOfStrs);
use MCE::Shared;
use MCE::Shared::Cache;

use BioX::Workflow::Command::run::Rules::Exceptions::KeyDeclaration;
use BioX::Workflow::Command::run::Rules::Exceptions::OneRuleName;

with 'BioX::Workflow::Command::run::Rules::Directives::Inspect';

tie my %stash, 'MCE::Shared', { module => 'MCE::Shared::Cache' };

=head1 Name

BioX::Workflow::Command::run::Rules::Rules

=head2 Description

Role for Rules

=cut

=head2 Command Line Options

=cut

option 'select_rules' => (
    traits        => [ 'Array' ],
    is            => 'rw',
    required      => 0,
    isa           => ArrayRefOfStrs,
    documentation => 'Select rules to process',
    default       => sub {[]},
    cmd_split     => qr/,/,
    handles       => {
        all_select_rules  => 'elements',
        has_select_rules  => 'count',
        join_select_rules => 'join',
    },
    cmd_aliases   => [ 'sr' ],
);

option 'select_after' => (
    is            => 'rw',
    isa           => 'Str',
    required      => 0,
    predicate     => 'has_select_after',
    clearer       => 'clear_select_after',
    documentation => 'Select rules after and including a particular rule.',
    cmd_aliases   => [ 'sa' ],
);

option 'select_before' => (
    is            => 'rw',
    isa           => 'Str',
    required      => 0,
    predicate     => 'has_select_before',



( run in 1.593 second using v1.01-cache-2.11-cpan-39bf76dae61 )