lib/wolf_core/utils/hash_utils.rb
# frozen_string_literal: true module WolfCore module HashUtils def deep_to_h(hash) hash.transform_values do |value| if value.is_a?(Hash) deep_to_h(value) elsif value.is_a?(Array) value.map { |v| deep_to_h(v) } elsif value.respond_to?(:to_h) && !value.is_a?(Hash) deep_to_h(value.to_h) else value end end end end end