diff --git a/hacks/patch-nodatetime.rb b/hacks/patch-nodatetime.rb index 0698a4e..4f4dd80 100755 --- a/hacks/patch-nodatetime.rb +++ b/hacks/patch-nodatetime.rb @@ -17,29 +17,31 @@ api["components"]["schemas"].each do |call_name, call| #puts key - call["properties"].each do |arg_name,arg_info| - #print arg_name, ": ", arg_info.key?("oneOf"), "\n" - if arg_info.key?("oneOf") then - arg_info["oneOf"][0].each do |key, val| - arg_info[key] = val + if call.key?("properties") then + call["properties"].each do |arg_name,arg_info| + #print arg_name, ": ", arg_info.key?("oneOf"), "\n" + if arg_info.key?("oneOf") then + arg_info["oneOf"][0].each do |key, val| + arg_info[key] = val + end + arg_info.delete("oneOf") + elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then + arg_info["items"] = arg_info["items"]["oneOf"][0] + arg_info["items"].delete("oneOf") end - arg_info.delete("oneOf") - elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then - arg_info["items"] = arg_info["items"]["oneOf"][0] - arg_info["items"].delete("oneOf") - end - if old_schema.key?(call_name) then - old_arg_prop = old_schema[call_name]["properties"] - if old_arg_prop.key?(arg_name) then - if old_arg_prop[arg_name].key?("format") then - arg_info["format"] = old_arg_prop[arg_name]["format"] - elsif old_arg_prop[arg_name].key?("items") then - arg_info["items"] = old_arg_prop[arg_name]["items"] + if old_schema.key?(call_name) then + old_arg_prop = old_schema[call_name]["properties"] + if old_arg_prop.key?(arg_name) then + if old_arg_prop[arg_name].key?("format") then + arg_info["format"] = old_arg_prop[arg_name]["format"] + elsif old_arg_prop[arg_name].key?("items") then + arg_info["items"] = old_arg_prop[arg_name]["items"] + end end end - end - if arg_info["format"] == "date-time" then - arg_info.delete("format") + if arg_info["format"] == "date-time" then + arg_info.delete("format") + end end end end diff --git a/hacks/patch-nooneof.rb b/hacks/patch-nooneof.rb index c16526f..e57021c 100755 --- a/hacks/patch-nooneof.rb +++ b/hacks/patch-nooneof.rb @@ -13,15 +13,17 @@ api = Psych.load_file(ARGV[0]) api["components"]["schemas"].each do |call_name, call| - call["properties"].each do |arg_name,arg_info| - if arg_info.key?("oneOf") then - arg_info["oneOf"][0].each do |key, val| - arg_info[key] = val + if call.key?("properties") then + call["properties"].each do |arg_name,arg_info| + if arg_info.key?("oneOf") then + arg_info["oneOf"][0].each do |key, val| + arg_info[key] = val + end + arg_info.delete("oneOf") + elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then + arg_info["items"] = arg_info["items"]["oneOf"][0] + arg_info["items"].delete("oneOf") end - arg_info.delete("oneOf") - elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then - arg_info["items"] = arg_info["items"]["oneOf"][0] - arg_info["items"].delete("oneOf") end end end diff --git a/hacks/patch.rb b/hacks/patch.rb index 3777f89..b30570c 100755 --- a/hacks/patch.rb +++ b/hacks/patch.rb @@ -17,28 +17,29 @@ api["components"]["schemas"].each do |call_name, call| #puts key - call["properties"].each do |arg_name,arg_info| - #print arg_name, ": ", arg_info.key?("oneOf"), "\n" - if arg_info.key?("oneOf") then - arg_info["oneOf"][0].each do |key, val| - arg_info[key] = val + if call.key?("properties") then + call["properties"].each do |arg_name,arg_info| + #print arg_name, ": ", arg_info.key?("oneOf"), "\n" + if arg_info.key?("oneOf") then + arg_info["oneOf"][0].each do |key, val| + arg_info[key] = val + end + arg_info.delete("oneOf") + elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then + arg_info["items"] = arg_info["items"]["oneOf"][0] + arg_info["items"].delete("oneOf") end - arg_info.delete("oneOf") - elsif arg_info.key?("items") and arg_info["items"].key?("oneOf") then - arg_info["items"] = arg_info["items"]["oneOf"][0] - arg_info["items"].delete("oneOf") - end - if old_schema.key?(call_name) then - old_arg_prop = old_schema[call_name]["properties"] - if old_arg_prop.key?(arg_name) then - if old_arg_prop[arg_name].key?("format") then - arg_info["format"] = old_arg_prop[arg_name]["format"] - elsif old_arg_prop[arg_name].key?("items") then - arg_info["items"] = old_arg_prop[arg_name]["items"] + if old_schema.key?(call_name) then + old_arg_prop = old_schema[call_name]["properties"] + if old_arg_prop.key?(arg_name) then + if old_arg_prop[arg_name].key?("format") then + arg_info["format"] = old_arg_prop[arg_name]["format"] + elsif old_arg_prop[arg_name].key?("items") then + arg_info["items"] = old_arg_prop[arg_name]["items"] + end end end end - end end