NAME

Mojo::Home - Detect and access the project root directory in Mojo

SYNOPSIS

use Mojo::Home;

my $home = Mojo::Home->new;
$home->detect;

DESCRIPTION

Mojo::Home is a container for home directories.

ATTRIBUTES

Mojo::Home implements the following attributes.

app_class

my $class = $home->app_class;
$home     = $home->app_class('Foo::Bar');

Application class.

METHODS

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

new

my $home = Mojo::Home->new;
my $home = Mojo::Home->new('/foo/bar');

Construct a new Mojo::Home object.

detect

$home = $home->detect;
$home = $home->detect('My::App');

Detect home directory from application class.

lib_dir

my $path = $home->lib_dir;

Path to lib directory.

list_files

my $files = $home->list_files;
my $files = $home->list_files('foo/bar');

List all files in directory and subdirectories recursively.

mojo_lib_dir

my $path = $home->mojo_lib_dir;

Path to lib directory in which Mojolicious is installed.

parse

$home = $home->parse('/foo/bar');

Parse path.

rel_dir

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

Generate absolute path for relative directory.

rel_file

my $path = $home->rel_file('foo/bar.html');

Generate absolute path for relative file.

slurp_rel_file

my $string = $home->slurp_rel_file('foo/bar.html');

Read all file data at once.

to_string

my $string = $home->to_string;
my $string = "$home";

Home directory.

SEE ALSO

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