Apache-Voodoo

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

--- #YAML:1.0
name:               Apache-Voodoo
version:            3.0200
abstract:           or just Voodoo for short; is a web application framework
author:
    - Maverick Edwards <maverick@smurfbane.org>
license:            unknown
distribution_type:  module
configure_requires:
    ExtUtils::MakeMaker:  0
build_requires:
    ExtUtils::MakeMaker:  0
requires:
    Apache2::Cookie:      2.08

README  view on Meta::CPAN

Apache::Voodoo
==============

Apache Voodoo, or just Voodoo for short is a web based application framework
for Apache 1.3, Apache 2 and mod_perl. 

Website / Documentation: http://www.apachevoodoo.com
Source repository: http://github.com/maverick/ApacheVoodoo

INSTALLATION

To install this module type the following:

    perl Makefile.PL

lib/Apache/Voodoo.pod  view on Meta::CPAN

=pod

=head1 NAME

Apache::Voodoo - or just Voodoo for short; is a web application framework
for Apache 1.3 and 2.0.

=head1 SYNOPSIS

Voodoo provides a fast, flexible and powerful framework for website development.
It's goal is to handle all the repetitious, tricky and difficult interactions with mod_perl for you.

Some features include:

=over 4

=item * Abstraction of mod_perl and Apache interaction away from the user's code

=item * MVC (default views for HTML via HTML::Template, and JSON)

lib/Apache/Voodoo/Debug/Common.pm  view on Meta::CPAN

sub finalize { return (); }

sub stack_trace {
	my $self = shift;
	my $full = shift;

	my @trace;
	my $i = 1;

	my $st = Devel::StackTrace->new();
	while (my $frame = $st->frame($i++)) {
		last if ($frame->package =~ /^Apache::Voodoo::Engine/);
		next if ($frame->package =~ /^Apache::Voodoo/);
		next if ($frame->package =~ /(eval)/);

		my $f = {
			'class'    => $frame->package,
			'function' => defined($st->frame($i))?$st->frame($i)->subroutine:'',
			'file'     => $frame->filename,
			'line'     => $frame->line,
		};
		$f->{'function'} =~ s/^$f->{'class'}:://;

		my @a = defined($st->frame($i))?$st->frame($i)->args:'';

		# if the first item is a reference to same class, then this was a method call
		if (ref($a[0]) eq $f->{'class'}) {
			shift @a;
			$f->{'type'} = '->';
		}
		else {
			$f->{'type'} = '::';
		}
		$f->{'instruction'} = $f->{'class'}.$f->{'type'}.$f->{'function'};

lib/Apache/Voodoo/Exception.pm  view on Meta::CPAN


sub parse_stack_trace {
	my $trace = shift;

	unless (ref($trace) eq "Devel::StackTrace") {
		return [];
	}

	my @trace;
	my $i = 1;
	while (my $frame = $trace->frame($i++)) {
		last if ($frame->package =~ /^Apache::Voodoo::Engine/);
		next if ($frame->package =~ /^Apache::Voodoo/);
		next if ($frame->package =~ /(eval)/);

		my $nf = $trace->frame($i);
		my $subroutine;
		my @args;
		if ($nf) {
			$subroutine = $nf->subroutine;
			@args       = $nf->args;
		}

		my $f = {
			'class'    => $frame->package,
			'function' => $subroutine || '',
			'file'     => $frame->filename,
			'line'     => $frame->line,
		};
		$f->{'function'} =~ s/^$f->{'class'}:://;

		# if the first item is a reference to same class, then this was a method call
		if (ref($args[0]) eq $f->{'class'}) {
			shift @args;
			$f->{'type'} = '->';
		}
		else {
			$f->{'type'} = '::';

lib/Apache/Voodoo/Table.pm  view on Meta::CPAN

################################################################################
#
# Apache::Voodoo::Table
#
# framework to handle common database operations
#
################################################################################
package Apache::Voodoo::Table;

$VERSION = "3.0200";

use strict;
use warnings;

use base("Apache::Voodoo");

lib/Apache/Voodoo/View/JSON.pm  view on Meta::CPAN

sub _stack_trace {
	my $self  = shift;
	my $trace = shift;

	unless (ref($trace) eq "Devel::StackTrace") {
		return [];
	}

	my @trace;
	my $i = 1;
	while (my $frame = $trace->frame($i++)) {
		last if ($frame->package =~ /^Apache::Voodoo::Engine/);
		next if ($frame->package =~ /^Apache::Voodoo/);
		next if ($frame->package =~ /(eval)/);

		my $f = {
			'class'    => $frame->package,
			'function' => $trace->frame($i)->subroutine,
			'file'     => $frame->filename,
			'line'     => $frame->line,
		};
		$f->{'function'} =~ s/^$f->{'class'}:://;

		my @a = $trace->frame($i)->args;
		# if the first item is a reference to same class, then this was a method call
		if (ref($a[0]) eq $f->{'class'}) {
			shift @a;
			$f->{'type'} = '->';
		}
		else {
			$f->{'type'} = '::';
		}
		$f->{'args'} = \@a;



( run in 2.363 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )