Except that package doesn't provide before/after/around.
What I really want is CLOS. But the closest in perl/python/ruby/javascript is Moose/Moo.
There's also, btw, a moosex gem where some rubyists are trying to port the perl stuff - but Moose/Moo are pervasive in modern OO perl whereas most existing ruby code is done the ugly, boilerplate-y way.
Sounds like you want something like: https://github.com/nicknovitski/modifiers
> Which is required if you're going to use value objects as much as possible rather than spraying mutable state everywhere.
Using Ruby's Struct class for this often avoids needing explicit constructors.