Apache2-Translation

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

SYNOPSIS
      LoadModule perl_module /path/to/mod_perl.so
      PerlLoadModule Apache2::Translation
      PerlTransHandler Apache2::Translation
      PerlMapToStorageHandler Apache2::Translation
      TranslationEvalCache 1000
      TranslationKey MyKey
      <TranslationProvider DB>
          Database  dbi:mysql:dbname:host
          User      username
          Password  password
          Singleton 1
          Table     tablename
          Key       keycolumn
          Uri       uricolumn
          Block     blockcolumn
          Order     ordercolumn
          Action    actioncolumn
          Cachetbl  cachetablename
          Cachecol  cachecolumn
          Cachesize 1000

lib/Apache2/Translation.pod  view on Meta::CPAN


  LoadModule perl_module /path/to/mod_perl.so
  PerlLoadModule Apache2::Translation
  PerlTransHandler Apache2::Translation
  PerlMapToStorageHandler Apache2::Translation
  TranslationEvalCache 1000
  TranslationKey MyKey
  <TranslationProvider DB>
      Database  dbi:mysql:dbname:host
      User      username
      Password  password
      Singleton 1
      Table     tablename
      Key       keycolumn
      Uri       uricolumn
      Block     blockcolumn
      Order     ordercolumn
      Action    actioncolumn
      Cachetbl  cachetablename
      Cachecol  cachecolumn
      Cachesize 1000

lib/Apache2/Translation/DB.pm  view on Meta::CPAN

package Apache2::Translation::DB;

use 5.008008;
use strict;
use warnings;
no warnings qw(uninitialized);

use DBI;
use Class::Member::HASH -CLASS_MEMBERS=>qw/database user password table
					   key uri block order action notes
					   cachesize cachetbl cachecol
					   singleton id is_initialized
					   seqtbl seqnamecol seqvalcol
					   idseqname dbinit
					   _existing_keys
					   _cache _cache_version _dbh/;
our @CLASS_MEMBERS;

our $VERSION = '0.07';

lib/Apache2/Translation/DB.pm  view on Meta::CPAN

    die "$@" if $@;
    tie %{$I->_cache}, 'Tie::Cache::LRU', $I->cachesize;
  }

  return $I;
}

sub connect {
  my $I=shift;

  my $dbh=$I->_dbh=DBI->connect( $I->database, $I->user, $I->password,
				{
				 AutoCommit=>1,
				 PrintError=>0,
				 RaiseError=>1,
				} );
  $dbh->do($I->dbinit) if( length $I->dbinit );
  return $dbh;
}

sub start {

lib/Apache2/Translation/DB.pod  view on Meta::CPAN

=head1 NAME

Apache2::Translation::DB - A provider for Apache2::Translation

=head1 SYNOPSIS

  <TranslationProvider DB>
      Database  dbi:mysql:dbname:host
      User      username
      Password  password
      Singleton 1
      Table     tablename
      Key       keycolumn
      Uri       uricolumn
      Block     blockcolumn
      Order     ordercolumn
      Action    actioncolumn
      Cachetbl  cachetablename
      Cachecol  cachecolumn
      Cachesize 1000

lib/Apache2/Translation/DB.pod  view on Meta::CPAN

=head2 B<Parameters>

=over 2

=item B<database DSN>

a string describing a L<DBI> database

=item B<user NAME>

=item B<password PW>

the user and password to use

=item B<table NAME>

names the translation table.

=item B<key NAME>

=item B<uri NAME>

=item B<block NAME>

t/011directives.t  view on Meta::CPAN

          $x=eval {JSON::XS::decode_json($text)} ) {
    eval 'require YAML' and $x=eval {YAML::Load($text)};
  }

  ok( t_cmp $x,
      {
       TranslationProvider  => [
				'DB',
				database  => $db,
				user      => $user,
				password  => $pw,
				table     => 'trans',
				id        => 'id',
				key       => 'xkey',
				uri       => 'xuri',
				block     => 'xblock',
				order     => 'xorder',
				action    => 'xaction',
				cachetbl  => 'cache',
				cachecol  => 'v',
				singleton => '1'

t/011directives.t  view on Meta::CPAN

          $x=eval {JSON::XS::decode_json($text)} ) {
    eval 'require YAML' and $x=eval {YAML::Load($text)};
  }

  ok( t_cmp $x,
      {
       TranslationProvider  => [
				'DB',
				database  => $db,
				user      => $user,
				password  => $pw,
				table     => 'trans',
				id        => 'id',
				key       => 'xkey',
				uri       => 'xuri',
				block     => 'xblock',
				order     => 'xorder',
				action    => 'xaction',
				cachetbl  => 'cache',
				cachecol  => 'v',
				singleton => '1'



( run in 2.079 seconds using v1.01-cache-2.11-cpan-49f99fa48dc )