NAME
Mojo::Home - Home sweet home!
SYNOPSIS
use
Mojo::Home;
# Find and manage the project root directory
my
$home
= Mojo::Home->new;
$home
->detect;
say
$home
->lib_dir;
say
$home
->rel_file(
'templates/layouts/default.html.ep'
);
say
"$home"
;
DESCRIPTION
Mojo::Home is a container for home directories.
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
$content
=
$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.