Ruby on Rails latest stable (v4.0.2) - 1 note - Superclass: Array

Class deprecated or moved

This class is deprecated or moved on the latest stable version. The last existing version (v1.1.6) is shown here.

Needs to be duplicated from Active Support since its needed before Active Support is available.

Show files where this class is defined (2 files)
Register or log in to add new notes.
January 26, 2010 - (>= v2.3.2)
1 thank

is now a subclass of Hash that preserves order (or _is_ a Hash if running Ruby 1.9 or greater)

You might not realize it preserves order because it delegates inspect to its super-class, Hash, which doesn’t preserve order. But you will see that order is preserved if you iterate or use the keys or values methods:

>> names = ['Amy Irving', 'Jane Doe', 'John Doe', 'John Updike', 'Susan Anthony']
>> ordered = names.group_by { |name| name.split.first }
=> #<OrderedHash {"John"=>["John Doe", "John Updike"], "Amy"=>["Amy Irving"], "Susan"=>["Susan Anthony"], "Jane"=>["Jane Doe"]}>

>> ordered.keys
=> ["Amy", "Jane", "John", "Susan"]

>> ordered.each { |first, full| puts first; full.each { |name| puts "  "+name } }
  Amy Irving
  Jane Doe
  John Doe
  John Updike
  Susan Anthony