Sha256: e0c4fc7cf7443d94562694511bf08b046b1b20179c48c96625f5ee7c34202806
Contents?: true
Size: 897 Bytes
Versions: 5
Compression:
Stored size: 897 Bytes
Contents
# frozen_string_literal: true module Micro class Case module Utils module Hashes def self.respond_to?(hash, method) Kind.of(Hash, hash).respond_to?(method) end def self.symbolize_keys(hash) return hash.transform_keys { |key| key.to_sym rescue key } if respond_to?(hash, :transform_keys) hash.each_with_object({}) do |(k, v), memo| key = k.to_sym rescue k memo[key] = v end end def self.stringify_keys(hash) return hash.transform_keys(&:to_s) if respond_to?(hash, :transform_keys) hash.each_with_object({}) { |(k, v), memo| memo[k.to_s] = v } end def self.slice(hash, keys) return hash.slice(*keys) if respond_to?(hash, :slice) hash.select { |key, _value| keys.include?(key) } end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
u-case-4.2.2 | lib/micro/case/utils.rb |
u-case-4.2.1 | lib/micro/case/utils.rb |
u-case-4.2.0 | lib/micro/case/utils.rb |
u-case-4.1.1 | lib/micro/case/utils.rb |
u-case-4.1.0 | lib/micro/case/utils.rb |