File: symbolize_keys.rb

package info (click to toggle)
ruby-powerpack 0.1.1-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 492 kB
  • sloc: ruby: 819; makefile: 3
file content (14 lines) | stat: -rw-r--r-- 503 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unless Hash.method_defined? :symbolize_keys
  class Hash
    # Converts the keys of the hash to symbols.
    #
    # @return [Hash] a copy of the original hash with its keys converted to symbols. Leave nonconvertible keys untouched when symbolizing keys.
    #
    # @example
    #   { 'one' => 1, 'two' => 2 }.symbolize_keys #=> { :one => 1, :two => 2 }
    #   { 1 => "a" }.symbolize_keys #=> { 1 => "a" }
    def symbolize_keys
      Hash[map { |(k, v)| [(k.to_sym rescue k), v] }]
    end
  end
end