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('/home/sri/myapp');
Construct a new Mojo::Home object.
"detect"¶
$home = $home->detect;
$home = $home->detect('My::App');
Detect home directory from the value of the "MOJO_HOME" environment
variable or application class.
"lib_dir"¶
my $path = $home->lib_dir;
Path to "lib" directory of application.
"list_files"¶
my $files = $home->list_files;
my $files = $home->list_files('foo/bar');
Portably list all files recursively in directory relative to the home diectory.
$home->rel_file($home->list_files('templates/layouts')->[1]);
"mojo_lib_dir"¶
my $path = $home->mojo_lib_dir;
Path to "lib" directory in which Mojolicious is installed.
"parse"¶
$home = $home->parse('/home/sri/myapp');
Parse home directory.
"rel_dir"¶
my $path = $home->rel_dir('foo/bar');
Portably generate an absolute path for a directory relative to the home
directory.
"rel_file"¶
my $path = $home->rel_file('foo/bar.html');
Portably generate an absolute path for a file relative to the home directory.
"slurp_rel_file"¶
my $string = $home->slurp_rel_file('foo/bar.html');
Portably read all data at once from file relative to the home directory.
my $content = $home->slurp_rel_file($home->list_files('public')->[1]);
"to_string"¶
my $string = $home->to_string;
my $string = "$home";
Home directory.
SEE ALSO¶
Mojolicious, Mojolicious::Guides, <
http://mojolicio.us>.