Module: Snails::RelativeTime

Defined in:
lib/snails.rb

Instance Method Summary collapse

Instance Method Details

#in_wordsObject



460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
# File 'lib/snails.rb', line 460

def in_words
  minutes = (((Time.now - self).abs)/60).round
  return nil if minutes < 0

  case minutes
    when 0..1            then 'menos de un min'
    when 2..4            then 'menos de 5 min'
    when 5..14           then 'menos de 15 min'
    when 15..29          then "media hora"
    when 30..59          then "#{minutes} minutos"
    when 60..119         then '1 hora'
    when 120..239        then '2 horas'
    when 240..479        then '4 horas'
    when 480..719        then '8 horas'
    when 720..1439       then '12 horas'
    when 1440..11519     then "#{(minutes/1440).floor} días"
    when 11520..43199    then "#{(minutes/11520).floor} semanas"
    when 43200..525599   then "#{(minutes/43200).floor} meses"
    else                      "#{(minutes/525600).floor} años"
  end
end

#relativeObject



482
483
484
485
486
487
488
489
490
491
# File 'lib/snails.rb', line 482

def relative
  if str = in_words
    if Time.now < self
      # "#{str} más"
      "en #{str}"
    else 
      "hace #{str}"
    end
  end
end