forked from loafle/openapi-generator-original
[Ruby] Fix Operation Servers (#16144)
* [Ruby] Fix Operation Servers * user `server_index` instead of `index` * use nil as default * add tests * revert tests * add tests to custom file * add test file to ruby-faraday
This commit is contained in:
@@ -152,7 +152,7 @@ module Petstore
|
||||
@scheme = 'http'
|
||||
@host = 'petstore.swagger.io'
|
||||
@base_path = '/v2'
|
||||
@server_index = 0
|
||||
@server_index = nil
|
||||
@server_operation_index = {}
|
||||
@server_variables = {}
|
||||
@server_operation_variables = {}
|
||||
@@ -200,10 +200,12 @@ module Petstore
|
||||
|
||||
# Returns base URL for specified operation based on server settings
|
||||
def base_url(operation = nil)
|
||||
index = server_operation_index[operation]
|
||||
return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
|
||||
|
||||
server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
|
||||
if operation_server_settings.key?(operation) then
|
||||
index = server_operation_index.fetch(operation, server_index)
|
||||
server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
|
||||
else
|
||||
server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
|
||||
end
|
||||
end
|
||||
|
||||
# Gets API key (with prefix if set).
|
||||
@@ -258,8 +260,8 @@ module Petstore
|
||||
servers = server_settings if servers == nil
|
||||
|
||||
# check array index out of bound
|
||||
if (index < 0 || index >= servers.size)
|
||||
fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
|
||||
if (index.nil? || index < 0 || index >= servers.size)
|
||||
fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
|
||||
end
|
||||
|
||||
server = servers[index]
|
||||
|
||||
Reference in New Issue
Block a user