module Eco::API::Common::People class DefaultParsers module Helpers module NullParsing private def parse_null(value) return if null?(value) return parse_null_on_hash(value) if value.is_a?(Hash) return value unless value.is_a?(Array) value.map {|val| parse_null(val)} end def parse_null_on_hash(value) return value unless value.is_a?(Hash) value.dup do |out| value.each do |key, val| next out.delete(key) unless (out[key] = parse_null(val)) end end end def null?(value) return true if value.nil? return false unless value.is_a?(String) return true if value.strip.to_s.empty? str = value.strip.upcase ['NULL'].any? {|token| str == token} end end end end end