Как я могу использовать MooseX::ClassAttribute внутри роли?
Вопрос
Я хотел бы использовать MooseX::Атрибут класса в роли.То есть, сделайте что-то вроде
package Cachable;
use Moose::Role;
use MooseX::ClassAttribute;
class_has Cache => ( is => 'rw' );
1;
К сожалению, приведенный выше код не работает, поскольку
глубокая магия MooseX::ClassAttribute ожидает, что
будет вызван из объекта Moose, а не из Moose::Role.
Есть ли какой-нибудь способ обойти это, или это известное ограничение?
Решение
Вы присылаете мне патч, который заставляет это работать.Это, безусловно, выполнимо, хотя внутренние компоненты Moose делают это сложнее, чем нужно, из-за того, как роли обрабатывают атрибуты.
Не связан с StackOverflow