The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mojo::Command - Command Base Class

SYNOPSIS

use base 'Mojo::Command';

sub run {
    my $self = shift;
    $self->render_to_rel_file('foo_bar', 'foo/bar.txt');
}

1;
__DATA__

@@ foo_bar
% for (1 .. 5) {
    Hello World!
% }

DESCRIPTION

Mojo::Command is a base class for commands.

ATTRIBUTES

Mojo::Command implements the following attributes.

description

my $description = $command->description;
$command        = $command->description('Foo!');

quiet

my $quiet = $command->quiet;
$command  = $command->quiet(1);

usage

my $usage = $command->usage;
$command  = $command->usage('Foo!');

METHODS

Mojo::Command inherits all methods from Mojo::Base and implements the following new ones.

chmod_file

$command = $command->chmod_file('/foo/bar.txt', 0644);

chmod_rel_file

$command = $command->chmod_rel_file('foo/bar.txt', 0644);

class_to_file

my $file = $command->class_to_file('Foo::Bar');

class_to_path

my $path = $command->class_to_path('Foo::Bar');

create_dir

$command = $command->create_dir('/foo/bar/baz');

create_rel_dir

$command = $command->create_rel_dir('foo/bar/baz');

get_data

my $data = $command->get_data('foo_bar');

help

$command->help;

rel_dir

my $path = $command->rel_dir('foo/bar');

rel_file

my $path = $command->rel_file('foo/bar.txt');

render_data

my $data = $command->render_data('foo_bar', @arguments);

render_to_file

$command = $command->render_to_file('foo_bar', '/foo/bar.txt');

render_to_rel_file

$command = $command->render_to_rel_file('foo_bar', 'foo/bar.txt');
$command = $command->render_to_rel_file('foo_bar', 'foo/bar.txt');

run

$command = $command->run(@ARGV);

write_file

$command = $command->write_file('/foo/bar.txt', 'Hello World!');

write_rel_file

$command = $command->write_rel_file('foo/bar.txt', 'Hello World!');