NAME¶
MojoMojo::Schema::ResultSet::Page - resultset methods on pages
METHODS¶
path_pages¶
( $path_pages, $proto_pages ) = __PACKAGE__->path_pages( $path, $id )
Accepts a path in URL/Unix directory format, e.g. "/page1/page2".
Paths are assumed to be absolute, so a leading slash (/) is not required.
Returns a reference to an array of any pages that exist in the path, starting
with "/", and an additional reference to an array of "proto
page" 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.
The "proto page" hash keys are shown in the example below, where we
assume that "/blog" exists and "/blog/My_New_Entry"
doesn't exist yet:
{
depth => 2,
name => "my_new_entry",
name_orig => "My_New_Entry",
path => "/blog/My_New_Entry",
},
path_pages_by_id¶
@path_pages = __PACKAGE__->path_pages_by_id( $id )
Returns all the pages in the path to a page, given that page's id.
parse_path¶
@proto_pages = __PACKAGE__->parse_path( $path )
Create prototype page objects for each level in a given path.
normalize_name¶
($name_orig, $name) = __PACKAGE__->normalize_name( $name_orig )
Strip superfluous spaces, convert the rest to _, then lowercase the result.
resolve_path¶
$an_resolve = __PACKAGE__->resolve_path( %args )
Takes the following args:
- path_pages
- proto_pages
- query_pages
- current_depth
- final_depth
Returns true if the path can be resolved, or false otherwise.
set_paths¶
@pages = __PACKAGE__->set_paths( @pages )
Sets the path for multiple pages, either a subtree or a group of non-adjacent
pages.
create_path_pages¶
$path_pages = __PACKAGE__->create_path_pages( %args )
Find or creates a list of path_pages. Returns a reference to an array of
path_pages.
open_gap¶
$parent = __PACKAGE__->open_gap( $parent, $new_page_count )
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
"rgt" column of the parent of the top-most new node.
Returns a new parent object that is updated with the new "lft"
"rgt" nested set numbers.
create_page¶
Create a new page in the wiki.