2009-03-03 6 views
4

Je voudrais utiliser MooseX::ClassAttribute dans un rôle. À savoir, faire quelque chose commeComment puis-je utiliser MooseX :: ClassAttribute dans un rôle?

package Cachable; 

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

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

1; 

Malheureusement, le code ci-dessus fonctionne pas comme la magie profonde de MooseX :: ClassAttribute attend d'être appelé à partir d'un objet Moose, et non un Moose :: rôle.
Y a-t-il un moyen de contourner ce problème ou s'agit-il d'une limitation connue?

Répondre

3

Vous m'envoyez un patch qui rend ce travail. C'est certainement faisable, bien que les internes de Moose le rendent plus difficile qu'il ne devrait l'être à cause de la façon dont les rôles gèrent les attributs.

+1

Assez juste. Je suppose qu'il est temps pour moi de jeter un coup d'œil à la méta-bonté de Moose. – Yanick

+0

Y a-t-il eu une mise à jour? Je sais que j'ai rencontré la même limite. – Danny

+0

Les correctifs sont toujours les bienvenus. –

Questions connexes