16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/rubyn_code/tools/schema.rb', line 16
def build(params_hash)
return { type: 'object', properties: {}, required: [] } if params_hash.empty?
properties = {}
required = []
params_hash.each do |name, spec|
name_str = name.to_s
prop = build_property(spec)
properties[name_str] = prop
required << name_str if spec[:required]
end
schema = {
type: 'object',
properties: properties
}
schema[:required] = required unless required.empty?
schema
end
|