DBIx-Roles
view release on metacpan or search on metacpan
# $Id: Roles.pm,v 1.18 2006/01/30 10:58:51 dk Exp $
package DBIx::Roles;
use DBI;
use Scalar::Util qw(weaken);
use strict;
use vars qw($VERSION %loaded_packages $DBI_connect %DBI_select_methods $debug $ExportDepth);
$VERSION = '1.04';
$ExportDepth = 0;
$DBI_connect = \&DBI::connect;
%DBI_select_methods = map { $_ => 1 } qw(
selectrow_array
selectrow_arrayref
selectrow_hashref
# DBIx::Roles::Instance provides API for the packages
bless $instance, 'DBIx::Roles::Instance';
# DBI attributes
my $self = {};
tie %{$self}, 'DBIx::Roles::Instance', $instance;
bless $self, $class;
# use this trick for cheap self-referencing ( otherwise the object is never destroyed )
$instance->{self} = $self;
weaken( $instance->{self});
return $self;
}
# connect to DB
sub connect
{
my $self = shift;
unless ( ref($self)) {
( run in 0.261 second using v1.01-cache-2.11-cpan-65fba6d93b7 )