114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# File 'lib/fitting/doc/content_type.rb', line 114
def merge_definitions(sv, definitions)
if sv['body']["properties"]
res = sv['body']["properties"]
elsif sv['body']['type'] != 'array'
res = sv['body']
end
definitions.each_pair do |key, value|
while JSON.dump(res).include?("\"$ref\":\"#/definitions/#{key}\"") do
new_res_array = JSON.dump(res).split('{')
index = new_res_array.index { |js| js.include?("\"$ref\":\"#/definitions/#{key}\"") }
if index != nil
def_size = "\"$ref\":\"#/definitions/#{key}\"".size
new_res_array[index] = JSON.dump(value)[1..-2] + new_res_array[index][def_size..-1]
res = JSON.load(new_res_array.join("{"))
end
end
end
if res == nil
nil
else
check_body(res, sv)
end
end
|