in reply to Intercept all object method calls with Moose
It's not the db_accessor method call that is dying, but the methodA accessor.
What you need to do is subclass My::DEF...
package My::DEF::JohnMacLane; # because it doesn't die use Moose; extends 'My::DEF'; my @make_immortal = qw( methodA methodB ); foreach my $meth (@make_immortal) { around $meth => sub { my ($orig, $self, @args) = @_; return eval { $self->$orig(@args) }; }; } 1;
The other possibility is to write a Shield class that sits in between My::ABC and My::DEF. I'm in a rush now, but I may update this post later with an example...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Intercept all object method calls with Moose
by elTriberium (Friar) on Jul 02, 2012 at 17:41 UTC |