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.227 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )