April 2008

helper hace x minutos

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

helpers

Comments (0)

Permalink

Bienvenido a AlexOnRails

AlexOnRails va a ser un blog donde iré subiendo helpers y comentando plugins que me han sido interensantes y que pueden ser muy utiles para cualquier desarrollo en RubyOnRails. Tambien puede que ponga alguna noticia que vaya ocurriendo en el mundo Rails.

Ten en cuenta que no soy ningún experto en Rails y esto es solo un blog de cosas interensantes que he ido utilizando en mis desarrollos.

Uncategorized

Comments (0)

Permalink