Как я могу использовать MooseX::ClassAttribute внутри роли?

StackOverflow https://stackoverflow.com/questions/608168

  •  03-07-2019
  •  | 
  •  

Вопрос

Я хотел бы использовать MooseX::Атрибут класса в роли.То есть, сделайте что-то вроде

package Cachable;

use Moose::Role;
use MooseX::ClassAttribute;

class_has Cache => ( is => 'rw' );

1;

К сожалению, приведенный выше код не работает, поскольку глубокая магия MooseX::ClassAttribute ожидает, что будет вызван из объекта Moose, а не из Moose::Role.
Есть ли какой-нибудь способ обойти это, или это известное ограничение?

Это было полезно?

Решение

Вы присылаете мне патч, который заставляет это работать.Это, безусловно, выполнимо, хотя внутренние компоненты Moose делают это сложнее, чем нужно, из-за того, как роли обрабатывают атрибуты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top