27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/rager/chat/schema.rb', line 27
def self.make_strict_recursive!(node)
case node
when Hash
%w[minLength maxLength not].each { |key| node.delete(key) }
case node["type"]
when "object"
node["additionalProperties"] = false
make_strict_recursive!(node["properties"]) if node.key?("properties")
when "array"
make_strict_recursive!(node["items"]) if node.key?("items")
end
node.each_value { |v| make_strict_recursive!(v) }
when Array
node.each { |item| make_strict_recursive!(item) }
end
end
|