Mojolicious::Commands - Commands


Mojolicious documentation Contained in the Mojolicious distribution.

Index


Code Index:

NAME

Top

Mojolicious::Commands - Commands

SYNOPSIS

Top

  use Mojolicious::Commands;

  # Command line interface
  my $commands = Mojolicious::Commands->new;
  $commands->run(@ARGV);

DESCRIPTION

Top

Mojolicious::Commands is the interactive command line interface to the Mojolicious framework. It will automatically detect available commands in the Mojolicious::Command namespace.

COMMANDS

Top

These commands are available by default.

help

  % mojo
  % mojo help

List available commands with short descriptions.

  % mojo help <command>

List available options for the command with short descriptions.

cgi

  % mojo cgi
  % script/myapp cgi

Start application with CGI backend.

daemon

  % mojo daemon
  % script/myapp daemon

Start application with standalone HTTP 1.1 server backend.

eval

  % mojo eval 'print app->home'
  % script/myapp eval 'print app->home'

Run code against application.

fastcgi

  % mojo fastcgi
  % script/myapp fastcgi

Start application with FastCGI backend.

generate

  % mojo generate
  % mojo generate help

List available generator commands with short descriptions.

  % mojo generate help <generator>

List available options for generator command with short descriptions.

generate app

  % mojo generate app <AppName>

Generate application directory structure for a fully functional Mojolicious application.

generate gitignore

  % mojo generate gitignore

Generate .gitignore file.

generate hypnotoad

  % mojo generate hypnotoad

Generate hypnotoad.conf file.

generate lite_app

  % mojo generate lite_app

Generate a fully functional Mojolicious::Lite application.

generate makefile

  % mojo generate makefile

Generate Makefile.PL file for application.

get

  % mojo get http://mojolicio.us
  % script/myapp get /foo

Perform GET request to remote host or local application.

inflate

  % myapp.pl inflate

Turn embedded files from the DATA section into real files.

routes

  % myapp.pl routes
  % script/myapp routes

List application routes.

test

  % mojo test
  % script/myapp test
  % script/myapp test t/foo.t

Runs application tests from the t directory.

version

  % mojo version

List version information for installed core and optional modules, very useful for debugging.

ATTRIBUTES

Top

Mojolicious::Commands inherits all attributes from Mojo::Command and implements the following new ones.

hint

  my $hint  = $commands->hint;
  $commands = $commands->hint('Foo!');

Short hint shown after listing available commands.

namespaces

  my $namespaces = $commands->namespaces;
  $commands      = $commands->namespaces(['Mojolicious::Commands']);

Namespaces to search for available commands, defaults to Mojo::Command and Mojolicious::Command.

METHODS

Top

Mojolicious::Commands inherits all methods from Mojo::Command.

SEE ALSO

Top

Mojolicious, Mojolicious::Guides, http://mojolicio.us.


Mojolicious documentation Contained in the Mojolicious distribution.

package Mojolicious::Commands;
use Mojo::Base 'Mojo::Command';

use Getopt::Long qw/GetOptions :config pass_through/;

# "One day a man has everything, the next day he blows up a $400 billion
#  space station, and the next day he has nothing. It makes you think."
has hint => <<"EOF";

These options are available for all commands:
    --help          Get more information on a specific command.
    --home <path>   Path to your applications home directory, defaults to
                    the value of MOJO_HOME or auto detection.
    --mode <name>   Run mode of your application, defaults to the value of
                    MOJO_MODE or development.

See '$0 help COMMAND' for more information on a specific command.
EOF
has namespaces => sub { [qw/Mojolicious::Command Mojo::Command/] };

# Command line options for MOJO_HELP, MOJO_HOME and MOJO_MODE
BEGIN {
  GetOptions(
    'help|h' => sub { $ENV{MOJO_HELP} = 1 },
    'home=s' => sub { $ENV{MOJO_HOME} = $_[1] },
    'mode=s' => sub { $ENV{MOJO_MODE} = $_[1] }
  ) unless Mojo::Command->detect;
}

1;
__END__