.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Jifty::Util 3pm" .TH Jifty::Util 3pm "2010-12-08" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Jifty::Util \- Things that don't fit anywhere else .SH "DESCRIPTION" .IX Header "DESCRIPTION" .SS "absolute_path \s-1PATH\s0" .IX Subsection "absolute_path PATH" \&\f(CW\*(C`absolute_path\*(C'\fR converts \s-1PATH\s0 into an absolute path, relative to the application's root (as determined by \*(L"app_root\*(R") This can be called as an object or class method. .SS "canonicalize_path \s-1PATH\s0" .IX Subsection "canonicalize_path PATH" Takes a \*(L"path\*(R" style /foo/bar/baz and returns a canonicalized (but not necessarily absolute) version of the path. Always use \f(CW\*(C`/\*(C'\fR as the separator, even on platforms which recognizes both \f(CW\*(C`/\*(C'\fR and \f(CW\*(C`\e\*(C'\fR as valid separators in \s-1PATH\s0. .SS "jifty_root" .IX Subsection "jifty_root" Returns the root directory that Jifty has been installed into. Uses \f(CW%INC\fR to figure out where Jifty.pm is. .SS "share_root" .IX Subsection "share_root" Returns the 'share' directory of the installed Jifty module. This is currently only used to store the common Mason components, \s-1CSS\s0, and \s-1JS\s0 of Jifty and it's plugins. .SS "app_root" .IX Subsection "app_root" Returns the application's root path. This is done by returning \&\f(CW$ENV\fR{'\s-1JIFTY_APP_ROOT\s0'} if it exists. If not, Jifty tries searching upward from the current directory, looking for a directory which contains a \f(CW\*(C`bin/jifty\*(C'\fR. Failing that, it searches upward from wherever the executable was found. .PP It \f(CW\*(C`die\*(C'\fRs if it can only find \f(CW\*(C`/usr\*(C'\fR or \f(CW\*(C`/usr/local\*(C'\fR which fit these criteria. .SS "is_app_root \s-1PATH\s0" .IX Subsection "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. .SS "default_app_name" .IX Subsection "default_app_name" Returns the default name of the application. This is the name of the application's root directory, as defined by \*(L"app_root\*(R". .SS "make_path \s-1PATH\s0" .IX Subsection "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). .SS "require \s-1PATH\s0" .IX Subsection "require PATH" Uses UNIVERSAL::require to require the provided \f(CW\*(C`PATH\*(C'\fR. Additionally, logs any failures at the \f(CW\*(C`error\*(C'\fR log level. .SS "try_to_require Module" .IX Subsection "try_to_require Module" This method works just like \*(L"require\*(R", except that it suppresses the error message in cases where the module isn't found. .SS "already_required class" .IX Subsection "already_required class" Helper function to test whether a given class has already been loaded. .SS "generate_uuid" .IX Subsection "generate_uuid" Generate a new \s-1UUID\s0 using \fBData::UUID\fR. .SS "reference_to_data Object" .IX Subsection "reference_to_data Object" Provides a saner output format for models than \&\f(CW\*(C`MyApp::Model::Foo=HASH(0x1800568)\*(C'\fR. .SS "stringify \s-1LIST\s0" .IX Subsection "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. .SH "AUTHOR" .IX Header "AUTHOR" Various folks at Best Practical Solutions, \s-1LLC\s0.