Não fiquei incomodado com a tua resposta. Mas o teu email já tem a resposta para a minha 'chacota' do teu email, como você mesmo escreveu 'não sei exatamente o problema' e aí eu leio, por isto vou sugerir uma super solução de arquitetura.
Com relação a pergunta para mim mesmo, bom você sabe que eu poderia ter feito esta pergunta para as pessoas que estão respondendo diretamente no canal, mas aí os demais que ficam monitorando a lista não teriam acesso a esta discussão. Ou a lista só serve para criar framework's war ? Abraços, Solli Honorio Em 3 de setembro de 2013 14:17, Daniel Mantovani < [email protected]> escreveu: > Eu não sei exatamente o problema que você precisa resolver, se você ficou > incomodado com a resposta da próxima vez você guarda a pergunta pra vc. > > Sent from my iPhone > > On 03/09/2013, at 12:53, Solli Honorio <[email protected]> wrote: > > Ou pena que vc não é engenheiro aeroespacial :D !!!! > > > Em 3 de setembro de 2013 12:50, Solli Honorio <[email protected]>escreveu: > >> Caramba Mantovani, isto sim é 'over engineering' ! Onde vc viu a >> necessidade de um AMPQ para eu validar um campo e emitir uma mensagem >> personalizada ? >> >> Eu aqui pensando se deveria utilizar a técnica de 'Dispatch Table' ou o >> Data::Verifier, e vc encontra aí uma oportunidade de AMPQ ? Ainda bem que >> você não é engenheiro aeroespacial :D !!! >> >> Abraços, >> >> Solli Honorio >> >> >> Em 3 de setembro de 2013 12:30, Daniel de Oliveira Mantovani < >> [email protected]> escreveu: >> >> Shonorio, porque você não usa uma implementação do AMPQ? >>> >>> Topic Exchange se encaixa perfeitamente, mesmo que ambos cliente e >>> servidor rodem na mesma máquina. >>> http://www.rabbitmq.com/tutorials/amqp-concepts.html >>> >>> 2013/9/3 Solli Honorio <[email protected]>: >>> > 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ê. >>> > >>> > 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 <[email protected]> >>> >> >>> >> >>> >> 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 <[email protected]> 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: [email protected] >>> >> 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: [email protected] >>> >> 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: [email protected] >>> > 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: [email protected] >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >>> >> >> >> >> -- >> "o animal satisfeito dorme". - Guimarães Rosa >> > > > > -- > "o animal satisfeito dorme". - Guimarães Rosa > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > 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: [email protected] > 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: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
