Sha256: 53074c8f8186ae8621ff23a38424466876f43d76f401ed84e0596d1e7b79bc88
Contents?: true
Size: 705 Bytes
Versions: 17
Compression:
Stored size: 705 Bytes
Contents
require "time_difference" module RefinedTimeDifference refine(TimeDifference) do def humanize_higher_than(limit) limit_index = TimeDifference::TIME_COMPONENTS.index(limit) diff_parts = [] in_general.each_with_index do |array, index| part, quantity = array next if (quantity <= 0) || (limit_index < index) part = part.to_s.humanize if quantity <= 1 part = part.singularize end diff_parts << "#{quantity} #{part}" end last_part = (diff_parts.pop or "") if diff_parts.empty? return last_part else return [diff_parts.join(", "), last_part].join(" and ") end end end end
Version data entries
17 entries across 17 versions & 1 rubygems