[SP-pm] E eu não usei AUTOLOAD... [Was: Boas vindas ao Igor Sutton Lopes]
Luis Motta Campos
luismottacampos em yahoo.co.uk
Terça Fevereiro 13 08:50:08 PST 2007
On Feb 13, 2007, at 5:17 PM, Eden Cardim wrote:
> On 2/13/07, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>> Putamerda, eu não usei AUTOLOAD, fica sossegado...
>> Era apenas uma dúzia de accessors, e eu copiei e colei um por um,
>> trocando apenas duas palavras em cada um. Mas, pelo menos, ficou
>> decente.
>
> <code>
> use Moose;
>
> has $_ => (isa => 'Str', is => 'rw') foreach qw/foo bar/;
> </code>
>
> Ou estou sendo inxerido? :P
Bom, na verdade, os accessors são para uma função.
Eu estou mantendo um sistema legado de Logging (por favor não me
falem em substituição, não é possível, tem de seguir com o que a
gente tem).
Um bárbaro desenvolveu um wrapper em torno do Sys::Syslog (não
muito mau) para fazer registro das atividades.
Para facilitar a vida dele (e de todo mundo), ele gerou as
funcionalidades dos log-levels, mais ou menos assim:
foreach $level ( @loglevels ){
*{$level} = sub { my $self = shift; my $msg = shift; $self->log
( $level, $msg ); };
}
Desculpem pela amostra barata. Os NDAs que eu assinei não permitem
código de verdade, mas isso dá para o gasto.
Claro, gerar accessors cada vez que você inicia um modulo de log -
que é uma coisa que os caras deixam morrer com o contexto
praticamente o tempo todo, preocupados com buffer flushing (vai
entender a ligação...)
O que eu fiz foi fixar os log-levels (não eram fixos, nem
padronizados) e escrever os "accessors" para as funções à mão.
Agora vou criar o pacotinho (alguém indica um tutorial para
marinheiro de primeira viagem?) para o deployment, e amanhã vamos
colocar na produção.
É tudo.
Putamplexos!
--
Luis Motta Campos is a software engineer,
perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm