Initial Commit

This commit is contained in:
Riley Schneider
2025-12-03 16:38:10 +01:00
parent c5e26bf594
commit b732d8d4b5
17680 changed files with 5977495 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
package # hide from PAUSE
DBIx::Class::CDBICompat::Triggers;
use strict;
use warnings;
use Class::Trigger;
sub insert {
my $self = shift;
return $self->create(@_) unless ref $self;
$self->call_trigger('before_create');
$self->next::method(@_);
$self->call_trigger('after_create');
return $self;
}
sub update {
my $self = shift;
$self->call_trigger('before_update');
my @to_update = keys %{$self->{_dirty_columns} || {}};
return -1 unless @to_update;
$self->next::method(@_);
$self->call_trigger('after_update');
return $self;
}
sub delete {
my $self = shift;
$self->call_trigger('before_delete') if ref $self;
$self->next::method(@_);
$self->call_trigger('after_delete') if ref $self;
return $self;
}
sub store_column {
my ($self, $column, $value, @rest) = @_;
my $vals = { $column => $value };
$self->call_trigger("before_set_${column}", $value, $vals);
return $self->next::method($column, $vals->{$column});
}
1;