class ActiveSupport::OrderedHash

Public Instance Methods

insert_at_start(key,value) click to toggle source

Insert a given element at the beginning, not end, of an ordered hash.

# File lib/core-extensions/ordered_hash.rb, line 17
def insert_at_start(key,value)
  replace(OrderedHash[self.to_a.insert(0,[key,value])])
  end
stable_select(&block) click to toggle source

Version of enumerable#select for an OrderedHash which is order-preserving Output is an array of key-value pairs.

# File lib/core-extensions/ordered_hash.rb, line 11
def stable_select(&block)
  #Annoyingly, default ordered hash select is not stable
  self.map{|k,v| block.call(k,v) ? [k,v] : nil}.compact
end