Как я могу использовать MooseX :: ClassAttribute в роли? - PullRequest
4 голосов
/ 04 марта 2009

Я хотел бы использовать MooseX :: ClassAttribute in роль. Т.е. сделать что-то вроде

package Cachable;

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

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

1;

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

1 Ответ

3 голосов
/ 04 марта 2009

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

...