Apache-Wyrd
view release on metacpan or search on metacpan
Wyrd/Interfaces/IndexUser.pm view on Meta::CPAN
=item _dispose_index
Shutdown the index and dispose of the handle. Must be called to avoid
database/dbfile handle "leaks" (open but dead database connections).
=cut
sub _init_index {
my ($self) = @_;
return $self->{'index'} if (UNIVERSAL::isa($self->{'index'}, $self->_base_class . '::Index'));
my $formula = $self->_base_class . '::Index';
eval("use $formula") unless ($INC{$formula});
$self->{'index'} = eval($formula . '->new');
$self->_raise_exception("Failed to open the index: $formula; reason: $@") if ($@);
return $self->{'index'};
}
sub _dispose_index {
my ($self) = @_;
if (UNIVERSAL::isa($self->{'index'}, $self->_base_class . '::Index')) {
$self->{'index'}->close_db;
}
$self->{'index'} = undef;
return;
Wyrd/Site/Widget.pm view on Meta::CPAN
index should be located in the /var directory under the document root. It
is recommended that a subclass of this object initializes the WidgetIndex
explicitly.
=cut
sub index {
my ($self) = @_;
return undef if ($self->_flags->noindex);
$self->_error("Widgets are better written by subclassing Apache::Wyrd::Site::Widget and defining an index() method as an interface that returns a WidgetIndex for your site.");
my $formula = $self->base_class . '::Site::WidgetIndex';
eval ("use $formula") unless ($INC{$formula});
my $index = undef;
if ($@) { #assume a failed compile means no WidgetIndex is defined
$index = Apache::Wyrd::Site::WidgetIndex->new({file => $self->dbl->req->document_root . '/var/widgetindex.db'});
} else {
eval ('$index=' . $formula . '->new()');
}
return $index;
}
=item (void) C<index_digest> (void)
Returns a fingerprint of the content (using sha1_hex by default) for storage
in the index. For internal use.
( run in 0.729 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )