Sha256: 68ee21dcfe62bc53178064bd7283deb130619d1d6c197ac1c64222602f54d588
Contents?: true
Size: 867 Bytes
Versions: 2
Compression:
Stored size: 867 Bytes
Contents
module Coolkit # Recursively convert keys in a Hash or Array to symbols. # # See: # - [original code](https://avdi.codes/recursively-symbolize-keys/) # - [array support](https://gist.github.com/neektza/8585746) # # @param arg [Hash,Array] # @return [Hash,Array] def self.symbolize_keys(arg) if arg.is_a?(Hash) arg.inject({}) do |result, (key, value)| new_key = case key when String then key.to_sym() else key end new_value = case value when Hash then symbolize_keys(value) when Array then symbolize_keys(value) else value end result[new_key] = new_value result end elsif arg.is_a?(Array) arg.map { |e| symbolize_keys(e) } else x end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
coolkit-0.2.0 | lib/coolkit/symbolize.rb |
coolkit-0.1.0 | lib/coolkit/symbolize.rb |