.\" 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 "MojoMojo::Schema::ResultSet::Page 3pm" .TH MojoMojo::Schema::ResultSet::Page 3pm "2011-07-20" "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" MojoMojo::Schema::ResultSet::Page \- resultset methods on pages .SH "METHODS" .IX Header "METHODS" .SS "path_pages" .IX Subsection "path_pages" .Vb 1 \& ( $path_pages, $proto_pages ) = _\|_PACKAGE_\|_\->path_pages( $path, $id ) .Ve .PP Accepts a path in URL/Unix directory format, e.g. \*(L"/page1/page2\*(R". Paths are assumed to be absolute, so a leading slash (/) is not required. .PP Returns a reference to an array of any pages that exist in the path, starting with \*(L"/\*(R", and an additional reference to an array of \*(L"proto page\*(R" hashes for any pages at the end of the path that do not exist. All paths include the root (/), which must exist, so a path of at least one element will always be returned. .PP The \*(L"proto page\*(R" hash keys are shown in the example below, where we assume that \f(CW\*(C`/blog\*(C'\fR exists and \f(CW\*(C`/blog/My_New_Entry\*(C'\fR doesn't exist yet: .PP .Vb 6 \& { \& depth => 2, \& name => "my_new_entry", \& name_orig => "My_New_Entry", \& path => "/blog/My_New_Entry", \& }, .Ve .SS "path_pages_by_id" .IX Subsection "path_pages_by_id" .Vb 1 \& @path_pages = _\|_PACKAGE_\|_\->path_pages_by_id( $id ) .Ve .PP Returns all the pages in the path to a page, given that page's id. .SS "parse_path" .IX Subsection "parse_path" .Vb 1 \& @proto_pages = _\|_PACKAGE_\|_\->parse_path( $path ) .Ve .PP Create prototype page objects for each level in a given path. .SS "normalize_name" .IX Subsection "normalize_name" .Vb 1 \& ($name_orig, $name) = _\|_PACKAGE_\|_\->normalize_name( $name_orig ) .Ve .PP Strip superfluous spaces, convert the rest to _, then lowercase the result. .SS "resolve_path" .IX Subsection "resolve_path" .Vb 1 \& $an_resolve = _\|_PACKAGE_\|_\->resolve_path( %args ) .Ve .PP Takes the following args: .IP "path_pages" 4 .IX Item "path_pages" .PD 0 .IP "proto_pages" 4 .IX Item "proto_pages" .IP "query_pages" 4 .IX Item "query_pages" .IP "current_depth" 4 .IX Item "current_depth" .IP "final_depth" 4 .IX Item "final_depth" .PD .PP Returns true if the path can be resolved, or false otherwise. .SS "set_paths" .IX Subsection "set_paths" .Vb 1 \& @pages = _\|_PACKAGE_\|_\->set_paths( @pages ) .Ve .PP Sets the path for multiple pages, either a subtree or a group of non-adjacent pages. .SS "create_path_pages" .IX Subsection "create_path_pages" .Vb 1 \& $path_pages = _\|_PACKAGE_\|_\->create_path_pages( %args ) .Ve .PP Find or creates a list of path_pages. Returns a reference to an array of path_pages. .SS "open_gap" .IX Subsection "open_gap" .Vb 1 \& $parent = _\|_PACKAGE_\|_\->open_gap( $parent, $new_page_count ) .Ve .PP Opens a gap in the nested set numbers to allow the inserting of new pages into the tree. Since nested sets number each node twice, the size of the gap is always twice the number of new pages. Also, since nested sets number the nodes from left to right, we determine what nodes to re-number according to the \&\f(CW\*(C`rgt\*(C'\fR column of the parent of the top-most new node. .PP Returns a new parent object that is updated with the new \f(CW\*(C`lft\*(C'\fR \&\f(CW\*(C`rgt\*(C'\fR nested set numbers. .SS "create_page" .IX Subsection "create_page" Create a new page in the wiki.