20 lines
445 B
Ruby
20 lines
445 B
Ruby
# frozen_string_literal: true
|
|
|
|
class JsonHelper
|
|
def self.deep_transform_keys(json_hash)
|
|
if json_hash.is_a? Array
|
|
json_hash.map { |jh| symbolize_names_snake_case(jh) }
|
|
else
|
|
symbolize_names_snake_case(json_hash)
|
|
end
|
|
end
|
|
|
|
def self.symbolize_names_snake_case(json_hash)
|
|
json_hash.deep_transform_keys { |k| k.to_s.underscore.to_sym }
|
|
end
|
|
|
|
def self.fix_null_byte(s)
|
|
s.gsub("`\u0000`", "null_byte")
|
|
end
|
|
|
|
end
|