Sha256: 842fef66d3b132069c938b28e5c21349a3f24d554aafaf2e39b82c34f93d8b69
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
class Hash def transform_keys result = {} each_key do |key| result[yield(key)] = self[key] end result end def transform_keys! keys.each do |key| self[yield(key)] = delete(key) end self end def stringify_keys transform_keys{ |key| key.to_s } end def stringify_keys! transform_keys!{ |key| key.to_s } end def symbolize_keys transform_keys{ |key| key.to_sym rescue key } end alias_method :to_options, :symbolize_keys def symbolize_keys! transform_keys!{ |key| key.to_sym rescue key } end alias_method :to_options!, :symbolize_keys! def deep_transform_keys(&block) result = {} each do |key, value| result[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys(&block) : value end result end def deep_transform_keys!(&block) keys.each do |key| value = delete(key) self[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys!(&block) : value end self end def deep_stringify_keys deep_transform_keys{ |key| key.to_s } end def deep_stringify_keys! deep_transform_keys!{ |key| key.to_s } end def deep_symbolize_keys deep_transform_keys{ |key| key.to_sym rescue key } end def deep_symbolize_keys! deep_transform_keys!{ |key| key.to_sym rescue key } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
happy_support-1.0.0 | lib/happy_support/core_ext/hash/keys.rb |