helper que maqueta en castellano el típico texto:
hace 1 hora, hace menos de un minuto o hace mas de un mes
simplemente se ha de pasar una fecha y el helper ya te genera el texto basandose en la fecha actual
def timeago(time, options = {})
start_date = options.delete(:start_date) || Time.new
date_format = options.delete(:date_format) || :default
delta_minutes=(start_date.to_i-time.to_i).floor/60
if delta_minutes.abs <= (8724*60) # eight weeks… I’m lazy to count days for longer than that
distance = distance_of_time_in_words(delta_minutes);
if delta_minutes < 0
"falta #{distance}"
else
"hace #{distance}"
end
else
return "on #{system_date.to_formatted_s(date_format)}"
end
end
def distance_of_time_in_words(minutes)
case
when minutes < 1
"menos de un minuto"
when minutes < 50
pluralize(minutes, "minute")
when minutes < 90
"1 hora"
when minutes < 1080
"#{(minutes / 60).round} horas"
when minutes < 1440
"1 dia"
when minutes < 2880
"1 dia"
else
"#{(minutes / 1440).round} dias"
end
end
fuente: http://actsasflinn.com/articles/2007/04/10/time-ago-method-for-ruby-on-rails
Post a Comment