fixup to txn_do to allow use as a classmethod
Matt S Trout [Thu, 29 Jun 2006 22:03:34 +0000 (22:03 +0000)]
Changes
lib/DBIx/Class/Schema.pm
t/81transactions.t

diff --git a/Changes b/Changes
index 0b309e5..7dc2d20 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
 Revision history for DBIx::Class
 
+        - fix Schema->txn_do to not fail as a classmethod
+
 0.06999_04 2006-06-29 20:18:47
         - disable cdbi-t/02-Film.t warning tests under AS perl
         - fixups to MySQL tests (aka "work round mysql being retarded")
index 8c7eac1..7926e92 100644 (file)
@@ -555,8 +555,6 @@ context and it will behave as expected.
 sub txn_do {
   my ($self, $coderef, @args) = @_;
 
-  ref $self or $self->throw_exception
-    ('Cannot execute txn_do as a class method');
   ref $coderef eq 'CODE' or $self->throw_exception
     ('$coderef must be a CODE reference');
 
index 847963e..5434387 100644 (file)
@@ -25,7 +25,7 @@ my $code = sub {
   eval {
     (ref $schema)->txn_do(sub{});
   };
-  like($@, qr/class method/, '$self parameter check ok');
+  like($@, qr/storage/, "can't call txn_do without storage");
   eval {
     $schema->txn_do('');
   };