# typed: false module TimeAgoInWords def time_ago_in_words(time) secs = (Time.current - time).to_i if secs <= 5 "just now" elsif secs < 60 "less than a minute ago" elsif secs < (60 * 60) mins = (secs / 60.0).floor "#{mins} #{"minute".pluralize(mins)} ago" elsif secs < (60 * 60 * 48) hours = (secs / 60.0 / 60.0).floor "#{hours} #{"hour".pluralize(hours)} ago" elsif secs < (60 * 60 * 24 * 30) days = (secs / 60.0 / 60.0 / 24.0).floor "#{days} #{"day".pluralize(days)} ago" elsif secs < (60 * 60 * 24 * 365) months = (secs / 60.0 / 60.0 / 24.0 / 30.0).floor "#{months} #{"month".pluralize(months)} ago" else years = (secs / 60.0 / 60.0 / 24.0 / 365.0).floor "#{years} #{"year".pluralize(years)} ago" end end end