Code submission for: Jordan Hudgens

Submission Status: Passed

Submitted for: Friendly Counter method in Ruby

Submitted at: August 28, 2017

require 'humanize'

class String
  def friendly_counter
    empty_array_hash = Hash.new { |k, v| k[v] = [] }
    grouped_hash = split(//).each_with_object(empty_array_hash) do |e, hash|
      hash[e] << e
    end

    grouped_hash.map do |k, v|
      v.count.humanize + ' ' + pluralize(v.count, k)
    end.join(', ')
  end

  def pluralize(count, str)
    if count == 0 || count > 1
      str + "'s"
    else
      str
    end
  end
end
Unsupported Browser

devCamp does not support ancient browsers.
Install a modern version for best experience.