Sha256: 98bef3f2b1f25d300e01a69ab203ed04d5d042c2f88d42fb6ff16787ee51c893

Contents?: true

Size: 553 Bytes

Versions: 4

Compression:

Stored size: 553 Bytes

Contents

# -*- encoding : utf-8 -*-

require 'active_support/core_ext/hash'

module Dito
  def self.symbolize_keys!(thing)
    case thing
    when Array
      thing.each{|v| symbolize_keys!(v)}
    when Hash
      thing.symbolize_keys!
      thing.values.each{|v| symbolize_keys!(v)}
    end
    thing
  end
   
  def self.symbolize_keys(thing)
    case thing
    when Array
      thing.map{|v| symbolize_keys(v)}
    when Hash
      inj = thing.inject({}) {|h, (k,v)| h[k] = symbolize_keys(v); h}
      inj.symbolize_keys
    else
      thing
    end
  end
end 

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dito-0.0.4 lib/helpers/symbolize_keys.rb
dito-0.0.3 lib/helpers/symbolize_keys.rb
dito-0.0.2 lib/helpers/symbolize_keys.rb
dito-0.0.1 lib/helpers/symbolize_keys.rb