* [Ruby] Add support for gems metadata
This defaults to an empty hash, but can be overridden with any custom
object by the callers via the `gemMetadata` property.
* Regenerate samples
The gemspecs files will now include a metadata field
* Add support for all +json and +xml suffixed media types to generated Go client
* Export JsonCheck and XmlCheck and add external tests
* Remove client_test.mustache
* upgrade spring-boot-starter-parent
* upgrade springdoc and swagger-ui
* upgrade v3 swagger-annotations
* generate samples
* upgrade jackson
* fix spring cloud, remove temp comment
Putting "8" instead of "1.8" should be ok, because Spring Boot 3 requires Java 17 anyway, so it should be able to understand that 8 is the same as 1.8.
* generate samples
* upgrade JUnit 5, remove commons-io dependency, remove outdated samples/client/petstore/java/feign/feign10x/ files, generate samples
commons-io dependency was introduced in https://github.com/OpenAPITools/openapi-generator/pull/8484, but I don't see why it would be needed now or back then.
* update gson, generate samples
* update logback
* update feign
* update scribejava
* generate samples
* update httpmime
* okhttp-gson: update commons-lang & okhttp & junit-platform, remove mockito; generate samples
It seems Mockito is not used at all there.
* okhttp-gson: remove unnecessary sample files, generate sample files
* upgrade google-api-client & jersey-common, restore ClientTest, generate samples
* misc. upgrades in jersey2 and jersey3
jersey 3.1.3 is available already, but IntelliJ reports security problems in 3.1.3 and 3.1.2, so I used 3.1.1 instead.
* align some gradle&sbt files with poms, generate samples
* whitespace fix
* [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
* Add apiNameSuffix to AbstractGoCodegen
* Regenerate files
* Update tests
* Regenerate files
* Update test files
* Regenerate for CI test
* Regenerate for CI test
* Remove some docs
* Add files back
As discussed in https://github.com/OpenAPITools/openapi-generator/pull/7415#discussion_r1113274416, it seems unlikely the code was correct.
server_operation_index is a hash table. In Ruby, `hash[key]` will return the value associated with `key`. If key is absent, `nil` is returned. Because that is sometimes undesirable, there is also `hash.fetch(key)`, which raises an error if the key is absent. It also allows you to specify a default to fall back on: `hash.fetch(key, default)` will return `default` if the key is absent.
So, since not all users will specify a 'server per operation' (or at least: I'm not), the old code would usually set `index` to the `server_index`, which is initialized to 0. The subsequent `if index == nil` will usually return false (`0 != nil` in Ruby), after which the `server_url` call on line 177 constructs the url based on the `server_operation_variables` and `operation_server_settings`, assuming we are dealing with the case where a server per operation is configured. The case where the url should be constructed from `scheme`, `host`, etc. is only called if either `server_index` is explicitly set to `nil` or the key `operation` is explicitly associated with the value `nil` in the `server_operation_index` hash table, both of which seem inappropriate.
* Probe content type for multipart form uploads since many servers require each part to correctly identify its type.
* Update samples
* Add explanatory comment
* Update samples with comment
* Remove double brace initialization
* Use diamond operator
* Less clutter in generated api classes
* Optimize isJsonMime
* Revert change in escapeString
Skip toString() on string parameters.
* Fix edge-cases
A ServerVariable without enumValues and/or operationServers
with any ServerVariables would lead to invalid code.
* Remove dead code
* Refactor containsKey before get
* Minor refactor
* Use JsonMapper.builder() to build ObjectMapper
Fix a bug where ALLOW_COERCION_OF_SCALARS wasn't set properly.
* Update samples
* Oops, fix a typo
* io/ioutil has been deprecated ass of Go 1.16, the same functionality is now provided by package io or package os
* run pr checklist
* Bump go version to 1.16.
* Run pr checklist
* Bump version to 1.18
* Run pr check list
* If the collection type is csv, that means 'dont explode the query params'.
* Simplify the logic just a tad
* url.Values -> Has was added in go1.17 but there are CI tests running at 1.16