Come posso usare MooseX :: ClassAttribute all'interno di un ruolo?
Domanda
Vorrei usare MooseX :: ClassAttribute in un ruolo. Ad esempio, fai qualcosa come
package Cachable;
use Moose::Role;
use MooseX::ClassAttribute;
class_has Cache => ( is => 'rw' );
1;
Sfortunatamente, il codice sopra non funziona come
la magia profonda di MooseX :: ClassAttribute si aspetta
essere chiamato dall'interno di un oggetto Moose e non da Moose :: Role.
C'è un modo per aggirare questo, o è una limitazione nota?
Soluzione
Mi mandi una patch per farlo funzionare. È certamente fattibile, anche se gli interni di Moose lo rendono più difficile di quanto debba essere a causa del modo in cui i ruoli gestiscono gli attributi.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow