Scroll to navigation

Mojo::Home(3pm) User Contributed Perl Documentation Mojo::Home(3pm)

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>.
2012-09-05 perl v5.14.2