Changeset 8946
- Timestamp:
- 02/29/08 04:28:51 (6 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/2-0-stable/activesupport/lib/active_support/core_ext/enumerable.rb
r8605 r8946 16 16 # "2006-02-23 -> Transcript" 17 17 def group_by 18 groups = [] 19 20 inject({}) do |grouped, element| 21 index = yield(element) 22 23 if group = grouped[index] 24 group << element 25 else 26 group = [element] 27 groups << [index, group] 28 grouped[index] = group 29 end 30 18 inject ActiveSupport::OrderedHash.new do |grouped, element| 19 (grouped[yield(element)] ||= []) << element 31 20 grouped 32 21 end 33 34 groups35 22 end if RUBY_VERSION < '1.9' 36 23 branches/2-0-stable/activesupport/test/core_ext/enumerable_test.rb
r8605 r8946 22 22 end 23 23 24 assert_equal objects.uniq.map(&:name), grouped. map { |name, group| name }24 assert_equal objects.uniq.map(&:name), grouped.keys 25 25 end 26 26