# File lib/backports/1.8.7/enumerable/group_by.rb, line 5 def group_by return to_enum(:group_by) unless block_given? result = {} each do |o| result.fetch(yield(o)){|key| result[key] = []} << o end result end