[SP-pm] Fix-DateTime

Tiago Peczenyj tiago.peczenyj at gmail.com
Wed Jan 9 06:10:58 PST 2013


Agora alguem ja usou Aspect ?

use Aspect;
 before {
 return unless $enable;
$_->args($_->args, time_zone => $default_time_zone) unless grep {
/time_zone/ } $_->args;
 } call 'DateTime::today'
| call 'DateTime::new'
| call 'DateTime::from_epoch'
 | call 'DateTime::last_day_of_month'
| call 'DateTime::now';

ADOREI

ou poderia fazer

use Aspect;

after {
$_->return_value->set_time_zone( 'EST' );
} call 'DateTime::today';

porem eu percebi uma coisa, não basta alterar o construtor pois tudo passa
por um construtor interno _new, melhor observar os metodos publicos do que
brincar com os internals

2013/1/9 Tiago Peczenyj <tiago.peczenyj at gmail.com>

> Sim mas não precisa FUDER o sistema todo.
>
>
> 2013/1/9 Renato Santos <renato.cron at gmail.com>
>
>> Pessoas, o FIX não seria usado apenas por quem sabe que vai usar o FIX?
>> então ela já tem que estar ciente que o FIX pode causar BUGS caso o
>> comportamento default seja interferido dentro de chamadas que ela não
>> previu. (outros modulos)
>>
>>
>> 2013/1/9 Tiago Peczenyj <tiago.peczenyj at gmail.com>
>>
>>> Opa
>>>
>>> 2013/1/9 Eden Cardim <eden at insoli.de>
>>>
>>>> >>>>> "Tiago" == Tiago Peczenyj <
>>>> tiago.peczenyj-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org> writes:
>>>>
>>>>     Tiago> Valeu Eden Então, eu li sobre o "rebless" depois de ter
>>>>     Tiago> implementado. Acho ate que é uma solução mais elegante.
>>>>
>>>> rebless é bem perigoso, eu usaria com bastante cautela.
>>>>
>>>
>>> Pode dar um exemplo do perigo?
>>>
>>>
>>>>     Tiago> Porém se os internals do DateTime forem alterados, os meus
>>>>     Tiago> testes vão quebrar. Não é muito confiavel isso mas é
>>>>     Tiago> interessante de se pensar.
>>>>
>>>>     Tiago> Outra coisa que eu estava vendo é que o Enable é muito
>>>>     Tiago> confuso. Seria mais facil, num problema em produção,
>>>>     Tiago> comentar a linha que adiciona o meu modulo e mandar
>>>>     Tiago> bala. Ou adicionar este módulo caso a configuração permita.
>>>>
>>>> Uma outra solução (não testada) que eu acho que pode funcionar bem é:
>>>>
>>>> use DateTime;
>>>> BEGIN { unshift 'Fix::DateTime', @DateTime::ISA };
>>>>
>>>> E no Fix::DateTime você sobrecarrega o que quiser. Pra desabilitar
>>>> você faz o inverso.
>>>>
>>>> --
>>>> Eden Cardim -- Insolide Soluções de TI Ltda.
>>>> +55 11 9644 8225
>>>> http://insoli.de
>>>> =begin disclaimer
>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>
>>>
>>>
>>> --
>>> Tiago B. Peczenyj
>>> Linux User #405772
>>>
>>> http://about.me/peczenyj
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#!/renato_cron>
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130109/e542f9be/attachment.html>


More information about the SaoPaulo-pm mailing list