Muster

 view release on metacpan or  search on metacpan

lib/Muster/MetaDb.pm  view on Meta::CPAN

package Muster::MetaDb;
$Muster::MetaDb::VERSION = '0.9501';
#ABSTRACT: Muster::MetaDb - keeping meta-data about pages
=head1 NAME

Muster::MetaDb - keeping meta-data about pages

=head1 VERSION

version 0.9501

=head1 SYNOPSIS

    use Muster::MetaDb;;

=head1 DESCRIPTION

Content Management System
keeping meta-data about pages.

=cut

use Mojo::Base -base;
use Carp;
use DBI;
use Search::Query;
use Sort::Naturally;
use Text::NeatTemplate;
use YAML::Any;
use POSIX qw(ceil);
use Mojo::URL;

=head1 METHODS

=head2 init

Set the defaults for the object if they are not defined already.

=cut
sub init {
    my $self = shift;

    $self->{primary_fields} = [qw(title bald_name hairy_name date filetype is_binary pagesrcname extension filename parent_page grandparent_page)];
    if (!defined $self->{metadb_db})
    {
        # give a default name
        $self->{metadb_db} = 'muster.db3';
    }
    if (!defined $self->{route_prefix})
    {
        $self->{route_prefix} = '/'; # for absolute links
    }

    return $self;

} # init

=head2 update_one_page

Update the meta information for one page

    $self->update_one_page($page, %meta);

=cut

sub update_one_page {
    my $self = shift;
    my $pagename = shift;
    my %args = @_;

    if (!$self->_connect())
    {
        return undef;
    }

    $self->_add_page_data($pagename, %args);

} # update_one_page

=head2 update_some_pages

Update the meta information for more than one page

    $self->update_some_pages($page=>{...},$page2=>{}...);

=cut



( run in 0.678 second using v1.01-cache-2.11-cpan-56fb94df46f )