module Synthetics::Util
This module holds general purpose utilities for the gem.
Public Instance Methods
camelize(str)
click to toggle source
# File lib/synthetics/util.rb, line 27 def camelize(str) first, *rest = str.split('_') rest.each_with_object(first) { |word, memo| memo << word.capitalize } end
deep_camelize_keys(object)
click to toggle source
# File lib/synthetics/util.rb, line 10 def deep_camelize_keys(object) deep_transform_keys(object) { |key| camelize(key.to_s) } end
deep_snakeify_keys(object)
click to toggle source
# File lib/synthetics/util.rb, line 6 def deep_snakeify_keys(object) deep_transform_keys(object) { |key| snakeify(key).to_sym } end
deep_transform_keys(object) { |key] = deep_transform_keys(value, &block)| ... }
click to toggle source
# File lib/synthetics/util.rb, line 14 def deep_transform_keys(object, &block) case object when Hash object.each_with_object({}) do |(key, value), hash| hash[yield key] = deep_transform_keys(value, &block) end when Array object.map { |elem| deep_transform_keys(elem, &block) } else object end end
snakeify(str)
click to toggle source
# File lib/synthetics/util.rb, line 32 def snakeify(str) str.gsub(/[A-Z]/) { |letter| "_#{letter.downcase}" } end