Added our own accessor system (ripped from C::A) and a bunch more compat code
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Triggers.pm
CommitLineData
fe5d862b 1package DBIx::Class::CDBICompat::Triggers;
2
3use Class::Trigger;
4
5sub insert {
6 my $self = shift;
7 $self->call_trigger('before_create');
8 $self->NEXT::insert(@_);
9 $self->call_trigger('after_create');
10 return $self;
11}
12
13sub update {
14 my $self = shift;
15 $self->call_trigger('before_update');
16 my @to_update = keys %{$self->{_dirty_columns} || {}};
17 return -1 unless @to_update;
18 $self->NEXT::update(@_);
19 $self->call_trigger('after_update');
20 return $self;
21}
22
23sub delete {
24 my $self = shift;
25 $self->call_trigger('before_delete') if ref $self;
26 $self->NEXT::delete(@_);
27 $self->call_trigger('after_delete') if ref $self;
28 return $self;
29}
30
311;