File Coverage

blib/lib/BioX/Workflow/Command/add.pm
Criterion Covered Total %
statement 11 23 47.8
branch 0 2 0.0
condition n/a
subroutine 4 5 80.0
pod n/a
total 15 30 50.0


line stmt bran cond sub pod time code
1             package BioX::Workflow::Command::add;
2              
3 1     1   1260 use v5.10;
  1         4  
4              
5 1     1   6 use MooseX::App::Command;
  1         2  
  1         10  
6 1     1   15881 use YAML;
  1         2  
  1         261  
7              
8             extends 'BioX::Workflow::Command';
9              
10             with 'BioX::Workflow::Command::Utils::Create';
11             with 'BioX::Workflow::Command::Utils::Files';
12             with 'BioX::Workflow::Command::Utils::Log';
13              
14             command_short_description 'Create a new workflow';
15             command_long_description 'Create a new workflow';
16              
17             =head1 BioX::Workflow::Command::add
18              
19             This is the main class of the `biox-workflow.pl add` command.
20              
21             =cut
22              
23             =head2 Command Line Options
24              
25             =cut
26              
27             option '+outfile' => (
28             default => sub {
29             my $self = shift;
30             my $workflow = $self->workflow;
31             return "$workflow";
32             },
33             documentation => 'Write your workflow to a file. The default will write it out to the same workflow.',
34             );
35              
36             sub execute {
37 0     0     my $self = shift;
38              
39 0 0         if(! $self->load_yaml_workflow){
40 0           $self->app_log->warn('Exiting now.');
41 0           return;
42             }
43              
44 0           $self->app_log->info('Adding rules: '.join(', ', $self->all_rules));
45 0           my $rules = $self->add_rules;
46              
47 0           map { push(@{$self->workflow_data->{rules}}, $_ ) } @{$rules};
  0            
  0            
  0            
48              
49 0           $self->fh->print(Dump($self->workflow_data));
50 0           $self->fh->close;
51             }
52              
53 1     1   8 no Moose;
  1         2  
  1         5  
54             __PACKAGE__->meta->make_immutable;
55              
56             1;