module Awsmeta::Helpers::Hash
a set of hash processors
Public Instance Methods
symbolize_and_underscore_keys(obj)
click to toggle source
# File lib/awsmeta/helpers/hash/hash.rb, line 20 def symbolize_and_underscore_keys(obj) obj.each_with_object({}) do |(k, v), h| h[k.nil? ? k : underscore(k).to_sym] = v end end
underscore(camel_cased_word)
click to toggle source
# File lib/awsmeta/helpers/hash/hash.rb, line 10 def underscore(camel_cased_word) return camel_cased_word unless /[A-Z-]|::/.match?(camel_cased_word) word = camel_cased_word.to_s.gsub('::', '/') word.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_') .downcase end