Commit | Line | Data |
fe5d862b |
1 | package DBIx::Class::CDBICompat::Triggers; |
2 | |
3 | use Class::Trigger; |
4 | |
5 | sub 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 | |
13 | sub 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 | |
23 | sub 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 | |
31 | 1; |