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

Solli Honorio shonorio at gmail.com
Tue Sep 3 13:06:14 PDT 2013


Blabos, o que você está imaginando para validar ? Estilo old-school com um
encadeamento de if ? Dispatch table ? NDA ?

Abraços,

Solli Honorio


Em 3 de setembro de 2013 16:35, Blabos de Blebe <blabos em gmail.com> escreveu:

> 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
>>
>>
>
> =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
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130903/9cfb6673/attachment-0001.html>


More information about the SaoPaulo-pm mailing list