module Repol::Ext::HashExt

Public Instance Methods

sort_array!() click to toggle source
# File lib/repol/ext/hash_ext.rb, line 3
def sort_array!
  keys.each do |key|
    value = self[key]
    self[key] = sort_array0(value)
  end

  self
end

Private Instance Methods

sort_array0(value) click to toggle source
# File lib/repol/ext/hash_ext.rb, line 14
def sort_array0(value)
  case value
  when Hash
    new_value = {}

    value.each do |k, v|
      new_value[k] = sort_array0(v)
    end

    new_value
  when Array
    value.map {|v| sort_array0(v) }.sort_by(&:to_s)
  else
    value
  end
end