[SP-pm] Data::Manager, alguém utiliza este troço ?!

Blabos de Blebe blabos at gmail.com
Tue Sep 3 12:35:00 PDT 2013


Em alguns casos, complexidade é um pouco ponto de vista.

Acho que entendi a abordagem do mantovani, mas pro meu caso específico,
acho que é também o overhead, já que eu só valido 4 campos em uma situação
eventual. Estou cogitando nem usar o Data::Manager.

Se fosse um cazilhao de campos sendo validados constantemente, acho que
valeira a pena.

Mantovani, cuidado pra não ficar aparafusando pregos, certo!?

[]'s


2013/9/3 Solli Honorio <shonorio em gmail.com>

> Sério mesmo Mantovani que vc acha que um sistema de fila é a solução para
> eu validar se todos os campos de um formulário estão dentro do aguardado
> para trabalhar no  banco de dados ?
>
> Mantovani, só posso dizer que estou orgulhoso de você... vejo que você
> terá um excelente futuro na industria de tecnologia (coisa que eu não
> tive), pois este é bem o comportamento dos vendedores de TI. Você está
> agregando complexidade numa lugar que estou tentando agregar simplicidade
> :D !!!
>
> Abraços,
>
> Solli Honorio
>
>
>
> Em 3 de setembro de 2013 14:58, Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani em gmail.com> escreveu:
>
> 2013/9/3 Solli Honorio <shonorio em gmail.com>:
>> > Lucas,
>> >
>> > Obrigado pelo retorno. Ontem a noite estudei o código do Data::Manager
>> e ví
>> > que realmente não rola fazer o que eu estava querendo fazer (passar uma
>> > pilha de mensagem e receber de acordo com o contexto) e ai estou
>> > encaminhando para a mesma solução que você.
>>
>> " o que eu estava querendo fazer (passar uma pilha de mensagem e
>> receber de acordo com o contexto)"
>>
>> Shonorio, repetindo o AMQP se encaixa perfeitamente. Eu sugiro que
>> você leia o link que eu te enviei. Se um serviço na sua máquina vai te
>> poupar centenas de linhas de código, talvez nessa situação, nesse
>> contexto obscuro no qual não foi definido pelo interlocutor seja uma
>> boa.
>>
>> Se você acha que isso é demais para você, eu sinto muito que alguém
>> com pelo menos 15/20 anos de experiência ainda não saiba formular uma
>> pergunta. Perguntas genéricas, respostas genéricas. E ainda acho
>> extremamente desnecessário o seu ataque gratuito, mas se você ainda
>> não percebeu isso afasta as pessoas da lista.
>>
>> >
>> > Como vc faz com o I18N ?
>> >
>> > O Renato Cron publicou um 'template'  (
>> https://github.com/AwareTI/MyApp )
>> > de como eles estão utilizando o Data::Manager. Estudei o código e achei
>> > engenhoso, mas ainda quero manter um melhor controle do ResultSet porquê
>> > quero devolver uma estrutura mais complexa de informação.
>> >
>> > Abraços,
>> >
>> > Solli Honorio
>> >
>> >
>> >
>> > 2013/9/3 Lucas Oliveira <lucasmateus.oliveira em gmail.com>
>> >>
>> >>
>> >> Normalmente eu uso sempre com I18N mas da pra quebrar o galho assim
>> >>
>> >> <code>
>> >> #!/usr/bin/env perl
>> >>
>> >> use common::sense;
>> >> use Data::Manager;
>> >> use Data::Verifier;
>> >>
>> >> my %msg_data = (
>> >>    missing_name_last => 'Nao foi informado o campo name_last, seu
>> idiota
>> >> !',
>> >> );
>> >>
>> >> sub messages { $msg_data{$_[0]} || $_[0] }
>> >>
>> >> my $dm = Data::Manager->new;
>> >> my $dv = Data::Verifier->new(
>> >>     filters => [ qw(trim) ],
>> >>         profile => {
>> >>             name_first => {
>> >>                 required => 1,
>> >>                 type     => 'Str',
>> >>                 filters  => [ qw(collapse) ]
>> >>             },
>> >>             name_last => {
>> >>                 required => 1,
>> >>                 type     => 'Str',
>> >>                 filters  => [ qw(collapse) ]
>> >>             },
>> >>             age  => {
>> >>                 type        => 'Int'
>> >>             },
>> >>             sign => {
>> >>                 required    => 1,
>> >>                 type        => 'Str'
>> >>             }
>> >>         }
>> >>     );
>> >>
>> >> $dm->set_verifier( name => $dv );
>> >> $dm->verify( name => { name_first => 'Solli' });
>> >>
>> >> if (!$dm->success) {
>> >>    print &messages( $_->msgid ).$/
>> >>       foreach (@{ $dm->messages->messages });
>> >> }
>> >> </code>
>> >>
>> >>
>> >> Em 02/09/2013, às 11:10, Solli Honorio <shonorio em gmail.com> escreveu:
>> >>
>> >> Pessoal,
>> >>
>> >> Estou tentando configurar uma mensagem padronização no Data::Manager,
>> mas
>> >> não está funcionando. Alguém aqui já utilizou o Data::Manager para
>> saber se
>> >> é possível fazer isto que eu quero ?
>> >>
>> >> O código abaixo, estou criando uma mensagem e adicionando no
>> Data::Manger,
>> >> porquê eu imaginei que quando ocorrer o problema dentro do escopo e
>> msgid,
>> >> eu teria o texto padronizado, mas o que estou recebendo é mais uma
>> pilha de
>> >> mensagem, mesmo quando não existe o erro.
>> >>
>> >> <code>
>> >> #!/usr/bin/env perl
>> >> use common::sense;
>> >> use Data::Manager;
>> >> use Data::Verifier;
>> >> use Data::Printer;
>> >>
>> >> my $msg = Message::Stack->new;
>> >> $msg->add({
>> >>     msgid   => 'missing_name_last',
>> >>     level   => 'error',
>> >>     scope   => 'name1',
>> >>     subject => 'name_last',
>> >>     text    => 'Não foi informado o campo name_last, seu idiota !'} );
>> >>
>> >> my $dm = Data::Manager->new( { messages => $msg } );
>> >> my $dv = Data::Verifier->new(
>> >>     filters => [ qw(trim) ],
>> >>         profile => {
>> >>             name => {
>> >>                 required => 1,
>> >>                 type     => 'Str',
>> >>                 filters  => [ qw(collapse) ]
>> >>             },
>> >>             age  => {
>> >>                 type        => 'Int'
>> >>             },
>> >>             sign => {
>> >>                 required    => 1,
>> >>                 type        => 'Str'
>> >>             }
>> >>         }
>> >>     );
>> >>
>> >>
>> >> };
>> >>
>> >>
>> >> $dm->set_verifier('name1', $verifier);
>> >> $dm->verify('name1', { name_last => 'Honorio', name_first => 'Solli'
>> });
>> >>
>> >> my $results = $dm->get_results('name1');
>> >> my $stack   = $dm->messages_for_scope('name1');
>> >>
>> >> say $results->success;
>> >>
>> >> say "Is invalid name_first ", $results->is_invalid('name_first');
>> >> say "Is invalid name_last ",  $results->is_invalid('name_last');  # yes
>> >>
>> >> say "Is missing name_first ", $results->is_missing('name_first'); # no
>> >> say "Is missing is_missing ", $results->is_missing('name_last'); # yes
>> >>
>> >> say "Missing count ", $results->missing_count;
>> >>
>> >> say "Count : ",  $stack->count ;
>> >> p $stack->get_message( 0 );
>> >> p $stack->get_message( 1 );
>> >>
>> >> </code>
>> >>
>> >>
>> >> --
>> >> "o animal satisfeito dorme". - Guimarães Rosa
>> >> =begin disclaimer
>> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> =end disclaimer
>> >>
>> >>
>> >>
>> >> =begin disclaimer
>> >>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> =end disclaimer
>> >>
>> >
>> >
>> >
>> > --
>> > "o animal satisfeito dorme". - Guimarães Rosa
>> >
>> > =begin disclaimer
>> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> > =end disclaimer
>> >
>>
>>
>>
>> --
>>
>> -dom
>>
>> --
>>
>> Daniel de Oliveira Mantovani
>> Business Analytic Specialist
>> Perl Evangelist /Astrophysics hobbyist.
>> +55 11 9 8538-9897
>> XOXO
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130903/c9b57548/attachment.html>


More information about the SaoPaulo-pm mailing list