class Time

Public Instance Methods

time_ago_in_words() click to toggle source
# File lib/time/time-ago-in-words.rb, line 16
def time_ago_in_words
  time_difference = Time.now.to_i - self.to_i
  unit = get_unit(time_difference)
  unit_difference = time_difference / Units.const_get(unit.capitalize)

  unit = unit.to_s.downcase + ('s' if time_difference > 1)

  "#{unit_difference} #{unit} ago"
end

Private Instance Methods

get_unit(time_difference) click to toggle source
# File lib/time/time-ago-in-words.rb, line 27
def get_unit(time_difference)
  Units.constants.each_cons(2) do |con|
    return con.first if (Units.const_get(con[0])...Units.const_get(con[1])) === time_difference
  end
end