Sha256: d50fa83978fe3b5e3833b20d33616f102b81c3315a75304eba55ce4d6ed680b9

Contents?: true

Size: 734 Bytes

Versions: 8

Compression:

Stored size: 734 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

8 entries across 8 versions & 1 rubygems

Version Path
autowow-0.14.2 lib/autowow/time_difference.rb
autowow-0.14.1 lib/autowow/time_difference.rb
autowow-0.14.0 lib/autowow/time_difference.rb
autowow-0.13.2 lib/autowow/time_difference.rb
autowow-0.13.1 lib/autowow/time_difference.rb
autowow-0.13.0 lib/autowow/time_difference.rb
autowow-0.9.0 lib/autowow/time_difference.rb
autowow-0.8.1 lib/autowow/time_difference.rb