module GraphQL::Subscriptions::Serialize
def load_value(value)
-
(Object)
- An object that load Global::Identification recursive
Parameters:
-
value
(Object
) -- A parsed JSON object
def load_value(value) if value.is_a?(Array) value.map{|item| load_value(item)} elsif value.is_a?(Hash) if value.size == 1 && value.key?(GLOBALID_KEY) GlobalID::Locator.locate(value[GLOBALID_KEY]) elsif value.size == 1 && value.key?(SYMBOL_KEY) value[SYMBOL_KEY].to_sym else loaded_h = {} sym_keys = value.fetch(SYMBOL_KEYS_KEY, []) value.each do |k, v| if k == SYMBOL_KEYS_KEY next end if sym_keys.include?(k) k = k.to_sym end loaded_h[k] = load_value(v) end loaded_h end else value end end