Renamed DBIx::Class::PK's retrieve() as find()
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / AutoUpdate.pm
CommitLineData
a3018bd3 1package DBIx::Class::CDBICompat::AutoUpdate;
2
3use strict;
4use warnings;
5
6use base qw/Class::Data::Inheritable/;
7
8__PACKAGE__->mk_classdata('__AutoCommit');
9
510ca912 10sub set_column {
a3018bd3 11 my $self = shift;
510ca912 12 my $ret = $self->NEXT::set_column(@_);
a3018bd3 13 $self->update if ($self->autoupdate && $self->{_in_database});
510ca912 14 return $ret;
a3018bd3 15}
16
17sub autoupdate {
18 my $proto = shift;
19 ref $proto
20 ? $proto->_obj_autoupdate(@_)
21 : $proto->_class_autoupdate(@_) ;
22}
23
24sub _obj_autoupdate {
25 my ($self, $set) = @_;
26 my $class = ref $self;
27 $self->{__AutoCommit} = $set if defined $set;
28 defined $self->{__AutoCommit}
29 ? $self->{__AutoCommit}
30 : $class->_class_autoupdate;
31}
32
33sub _class_autoupdate {
34 my ($class, $set) = @_;
35 $class->__AutoCommit($set) if defined $set;
36 return $class->__AutoCommit;
37}
38
391;