Como arreglar Time.today


#1

Hola gente,

tengo el siguiente código en algún controlador por ahi:

 if @discount && (@discount.duration > Time.today)
    ....
 end

el tema es que en el ambiente development todo funciona barbaro, pero
en
producction no, encima mi jefe no me cree que no fue “del todo” mi
culpa
jaja. La traza del error es la siguiente:

NameError (undefined local variable or method location_of_caller' for Time:Class): /usr/local/lib/site_ruby/1.8/rubygems/specification.rb:16:intoday’
/app/controllers/shopping_carts_controller.rb:82:in `apply_discount’

/home/glow/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in
`send’

/home/glow/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in
`perform_action_without_filters’

/home/glow/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617:in
`call_filters’

he buscado el error en google pero no puedo dar con ningún lugar que
expliqué como lo arreglaron, he visto que en varios lugares mencionan
que
hay un error con Time.today y que utilizan “lib/ext/time_today.rb
para
arreglar este pero no encuentro ese archivo y tampoco sé como hacer para
arreglarlo, alguien me podría ayudar con esto?

Saludos.


#2

Creo que Time.today ha quedado deprecated en las últimas versiones de
Rubygems [1], podrías cambiar tus llamadas a Time.today por ejemplo por
Time.now.midnight
o redefinirte el método.

Un saludo

[1]
https://rubyforge.org/tracker/index.php?func=detail&aid=25564&group_id=126&atid=575


Miguel Ángel Martínez
Triviño http://martineztrivino.es
GPG ID: 0x5F15D017


#3

2009/5/29 Miguel Angel Martinez Triviño removed_email_address@domain.invalid

Creo que Time.today ha quedado deprecated en las últimas versiones de
Rubygems [1], podrías cambiar tus llamadas a Time.today por ejemplo por
Time.now.midnight
o redefinirte el método.

Muchas gracias, funcionó de maravillas el Time.now.midnight