DBIx-Skinny
view release on metacpan or search on metacpan
lib/DBIx/Skinny.pm view on Meta::CPAN
{
no strict 'refs';
push @{"${caller}::ISA"}, $class;
*{"$caller\::_attributes"} = sub { ref $_[0] ? $_[0] : $_attributes };
*{"$caller\::attribute"} = sub { Carp::carp("attribute has been deprecated."); $_[0]->_attributes };
}
$caller->_setup_dbd;
DBIx::Skinny::Util::load_class($schema);
strict->import;
warnings->import;
}
sub new {
my ($class, $connection_info) = @_;
my $attr = $class->_attributes;
my $new_attr;
for my $key (qw/check_schema dsn username password connect_options driver_name schema profiler klass _common_row_class suppress_row_objects/) {
$new_attr->{$key} = $attr->{$key};
lib/DBIx/Skinny/Schema.pm view on Meta::CPAN
my $_schema_info = {};
*{"$caller\::schema_info"} = sub { $_schema_info };
my $_schema_inflate_rule = {};
*{"$caller\::inflate_rules"} = sub { $_schema_inflate_rule };
my $_schema_common_triggers = {};
*{"$caller\::common_triggers"} = sub { $_schema_common_triggers };
my $_utf8_columns = {};
*{"$caller\::utf8_columns"} = sub { $_utf8_columns };
strict->import;
warnings->import;
}
sub install_table ($$) {
my ($table, $install_code) = @_;
my $class = caller;
$class->schema_info->{_installing_table} = $table;
$install_code->();
$class->schema_info->{$table}->{row_class} ||= DBIx::Skinny::Util::mk_row_class($class, $table);
use utf8;
use lib './t/lib';
use Test::More;
BEGIN {
eval "use DBD::SQLite";
plan skip_all => 'needs DBD::SQLite for testing' if $@;
}
sub import {
strict->import;
warnings->import;
utf8->import;
}
sub setup_dbh {
shift;
my $file = shift || ':memory:';
DBI->connect('dbi:SQLite:'.$file,'','',{RaiseError => 1, PrintError => 0, AutoCommit => 1});
}
( run in 0.427 second using v1.01-cache-2.11-cpan-299005ec8e3 )