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. Note that this method is EXPERIMENTAL and might change without warning!
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. Note that this method is EXPERIMENTAL and might change without warning!
to_string
my $string = $home->to_string;
my $string = "$home";
Home directory.