use namespace::clean w/ Try::Tiny
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Triggers.pm
index 3bf8070..3f6aef7 100644 (file)
@@ -1,4 +1,5 @@
-package DBIx::Class::CDBICompat::Triggers;
+package # hide from PAUSE
+    DBIx::Class::CDBICompat::Triggers;
 
 use strict;
 use warnings;
@@ -6,8 +7,11 @@ use Class::Trigger;
 
 sub insert {
   my $self = shift;
+
+  return $self->create(@_) unless ref $self;
+
   $self->call_trigger('before_create');
-  $self->NEXT::ACTUAL::insert(@_);
+  $self->next::method(@_);
   $self->call_trigger('after_create');
   return $self;
 }
@@ -17,7 +21,7 @@ sub update {
   $self->call_trigger('before_update');
   my @to_update = keys %{$self->{_dirty_columns} || {}};
   return -1 unless @to_update;
-  $self->NEXT::ACTUAL::update(@_);
+  $self->next::method(@_);
   $self->call_trigger('after_update');
   return $self;
 }
@@ -25,7 +29,7 @@ sub update {
 sub delete {
   my $self = shift;
   $self->call_trigger('before_delete') if ref $self;
-  $self->NEXT::ACTUAL::delete(@_);
+  $self->next::method(@_);
   $self->call_trigger('after_delete') if ref $self;
   return $self;
 }
@@ -34,7 +38,7 @@ sub store_column {
   my ($self, $column, $value, @rest) = @_;
   my $vals = { $column => $value };
   $self->call_trigger("before_set_${column}", $value, $vals);
-  return $self->NEXT::ACTUAL::store_column($column, $vals->{$column});
+  return $self->next::method($column, $vals->{$column});
 }
 
 1;