Pessoal, estou brincando um pouco com o MooseX::Privacy. Funciona muito
bem em classes Moose. Então resolvi ir um pouco além e fazer alguns
testes com Roles do Moose (Moose::Role). Funciona perfeitamente com
atributos:

package Cities;
use Moose::Role;
use MooseX::Privacy::Trait::Role;

has cities => (
        is => 'rw',
        isa => 'ArrayRef[City]',
        traits => ['Array', 'Private'],
        default => sub { [ ] }, );

Mas se eu tento adicionar um método privado ou protegido ao Role (papel soa como uma
boa tradução para role?) o programa mia!!!

protected_method _add_city => sub {
        my $self = shift;
        my $city_to_add = shift;
        return push (@{ $self->cities}, $city_to_add); };

1;

Alguém já tentou algo parecido? Ou saberia como adicionar um método privado a uma Role?
=begin disclaimer
  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a