DBIx-Class-StorageReadOnly
view release on metacpan or search on metacpan
lib/DBIx/Class/StorageReadOnly/TT.pm view on Meta::CPAN
our $VERSION = '0.05';
use DBIx::Class::Storage::DBI;
{
package DBIx::Class::Storage::DBI;
use tt (subs => [qw/insert update delete/]);
[% FOR sub IN subs %]
{
no warnings 'redefine';
no strict 'refs'; ## no critic
my $[%- sub -%]_code_org = DBIx::Class::Storage::DBI->can('[%- sub -%]');
*{"DBIx\::Class\::Storage\::DBI\::[%- sub -%]"} = sub {
my $self = shift;
if ($self->_search_readonly_info) {
croak("This connection is read only. Can't [%- sub -%].");
}
return $self->$[%- sub -%]_code_org(@_);
};
}
[% END %]
no tt;
sub _search_readonly_info {
my $self = shift;
for my $info ( @{$self->connect_info} ) {
if (ref $info eq 'HASH' ) {
return 1 if $info->{read_only} == 1;
( run in 0.258 second using v1.01-cache-2.11-cpan-b61123c0432 )