Jifty::Util(3) Things that don't fit anywhere else


absolute_path PATH

"absolute_path" converts PATH into an absolute path, relative to the application's root (as determined by ``app_root'') This can be called as an object or class method.

canonicalize_path PATH

Takes a ``path'' style /foo/bar/baz and returns a canonicalized (but not necessarily absolute) version of the path. Always use "/" as the separator, even on platforms which recognizes both "/" and "\" as valid separators in PATH.


Returns the root directory that Jifty has been installed into. Uses %INC to figure out where Jifty.pm is.


Returns the 'share' directory of the installed Jifty module. This is currently only used to store the common Mason components, CSS, and JS of Jifty and it's plugins.


Returns the application's root path. This is done by returning $ENV{'JIFTY_APP_ROOT'} if it exists. If not, Jifty tries searching upward from the current directory, looking for a directory which contains a "bin/jifty". Failing that, it searches upward from wherever the executable was found.

It "die"s if it can only find "/usr" or "/usr/local" which fit these criteria.

is_app_root PATH

Returns a boolean indicating whether the path passed in is the same path as the app root. Useful if you're recursing up a directory tree and want to stop when you've hit the root. It does not attempt to handle symbolic links.


Returns the default name of the application. This is the name of the application's root directory, as defined by ``app_root''.

make_path PATH

When handed a directory, creates that directory, starting as far up the chain as necessary. (This is what 'mkdir -p' does in your shell).

require PATH

Uses UNIVERSAL::require to require the provided "PATH". Additionally, logs any failures at the "error" log level.

try_to_require Module

This method works just like ``require'', except that it suppresses the error message in cases where the module isn't found.

already_required class

Helper function to test whether a given class has already been loaded.


Generate a new UUID using Data::UUID.

reference_to_data Object

Provides a saner output format for models than "MyApp::Model::Foo=HASH(0x1800568)".

stringify LIST

Takes a list of values and forces them into strings. Right now all it does is concatenate them to an empty string, but future versions might be more magical.


Various folks at Best Practical Solutions, LLC.