NAME

Venus::Task::Venus::Run - vns run

ABSTRACT

Task Class for Venus CLI

SYNOPSIS

package main;

use Venus::Task::Venus::Run;

my $task = Venus::Task::Venus::Run->new;

# bless(.., 'Venus::Task::Venus::Run')

DESCRIPTION

This package is a task class for the vns-run CLI, and vns run sub-command.

INHERITS

This package inherits behaviors from:

Venus::Task::Venus

METHODS

This package provides the following methods:

new

new(any @args) (Venus::Task::Venus::Run)

The new method constructs an instance of the package.

Since 4.15

new example 1
package main;

use Venus::Task::Venus::Run;

my $task = Venus::Task::Venus::Run->new;

# bless({...}, 'Venus::Task::Venus::Run')

perform

perform() (Venus::Task::Venus::Run)

The perform method executes the CLI logic.

Since 4.15

perform example 1
# given: synopsis

package main;

$task->prepare;

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')
perform example 2
# given: synopsis

package main;

$task->prepare;

$task->parse('brew');

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')

# 'perlbrew'
perform example 3
# given: synopsis

package main;

$task->prepare;

$task->parse('cpan', 'Venus');

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')

# 'cpanm -llocal -qn Venus'
perform example 4
# given: synopsis

package main;

$task->prepare;

$task->parse('eval', 'say time');

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')

# "perl -Ilib -Ilocal/lib/perl5 -MVenus=true,false,log -E 'say time'"
perform example 5
# given: synopsis

package main;

$task->prepare;

$task->parse('lint');

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')

# 'perlcritic'
perform example 6
# given: synopsis

package main;

$task->prepare;

$task->parse('docs');

my $perform = $task->perform;

# bless(.., 'Venus::Task::Venus::Run')

# 'perldoc'

AUTHORS

Awncorp, awncorp@cpan.org

LICENSE

Copyright (C) 2022, Awncorp, awncorp@cpan.org.

This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.