# File lib/core/facets/array/commonality.rb, line 19 def commonality(&block) had_no_block = !block block ||= lambda { |item| item } result = Hash.new { |hash, key| hash[key] = Array.new } each do |item| key = block.call(item) result[key] << item end result.reject! do |key, values| values.size <= 1 end # -- return had_no_block ? result.values.flatten : result return result end