Changes for version 0.045 - 2022-11-08

  • Bug Fixes
    • Fix for `with qw(Role1 Role2)` in Moose where at least one role uses Sub::HandlesVia. Bartosz Jarzyna++ <https://github.com/tobyink/p5-sub-handlesvia/issues/6>
    • Support attributes declared with `has '+name'`. Bartosz Jarzyna++ <https://github.com/tobyink/p5-sub-handlesvia/issues/7>
  • Documentation
    • Document that `with qw(Role1 Role2)` in Mouse is currently broken if either role uses Sub::HandlesVia. <https://github.com/tobyink/p5-sub-handlesvia/issues/9>
  • Test Suite
    • Test that `with qw(Role1 Role2)` in Moo works if either role uses Sub::HandlesVia.
  • Other
    • Added: Add a `generator_for_prelude` attribute to Sub::HandlesVia::CodeGenerator. <https://github.com/tobyink/p5-sub-handlesvia/issues/8>

Documentation

misc advanced documentation
comparing Sub::HandlesVia against similar modules
using Sub::HandlesVia with Class::Tiny
using Sub::HandlesVia with generic Perl classes
using Sub::HandlesVia with Mite
using Sub::HandlesVia with Moo
using Sub::HandlesVia with Moose
using Sub::HandlesVia with Mouse
using Sub::HandlesVia with Object::Pad

Modules

alternative handles_via implementation
looks at a Handler and generates a string of Perl code for it
declare delegations at compile-time
template for a method that can be delegated to
library of array-related methods
library of object-related methods
library of bool-related methods
library of code-related methods
library of counter-related methods
library of hash-related methods
library of number-related methods
library of scalar-related methods
library of string-related methods
integration with OO frameworks for Sub::HandlesVia

Provides

in lib/Sub/HandlesVia/Handler.pm
in lib/Sub/HandlesVia/Handler.pm
in lib/Sub/HandlesVia/HandlerLibrary.pm
in lib/Sub/HandlesVia/Mite.pm
in lib/Sub/HandlesVia/Toolkit/Mite.pm
in lib/Sub/HandlesVia/Toolkit/Moo.pm
in lib/Sub/HandlesVia/Toolkit/Moose.pm
in lib/Sub/HandlesVia/Toolkit/Moose.pm
in lib/Sub/HandlesVia/Toolkit/Moose.pm
in lib/Sub/HandlesVia/Toolkit/Mouse.pm
in lib/Sub/HandlesVia/Toolkit/Mouse.pm
in lib/Sub/HandlesVia/Toolkit/Mouse.pm
in lib/Sub/HandlesVia/Toolkit/ObjectPad.pm
in lib/Sub/HandlesVia/Toolkit/Plain.pm