Merged
requested to merge github/fork/autopp/escape-string-interpolation-notation-of-ruby into master
Created by: autopp
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
,./bin/security/{LANG}-petstore.sh
and./bin/openapi3/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,. Default:3.4.x
,4.0.x
master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @cliffano (2017/07) @zlx (2017/09) @autopp (2019/02)
Description of the PR
Fix #2261 (closed).
This PR has been modified to escape string interpolations in enum
when generating Ruby client.
- To escape
#{
, modifiedAbstractRubyCodegen::escapeUnsafeCharactors
- Added test class for
AbstractRubyCodegen
- For this the visibility of
AbstractRubyCodegen
and its constructor ware changed to public.
- For this the visibility of
E.g.
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate --skip-validate-spec -g ruby -o /tmp/gem -i 'https://gist.githubusercontent.com/autopp/48160b45f1c17c950ba72feb971786c3/raw/974579f49d9a0eebff0455e54efce842eee64c9b/example.yml'
lib/openapi_client/api/default_api.rb
generated by the above command no longer includes string interpolation.
def foo_get_with_http_info(opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: DefaultApi.foo_get ...'
end
allowable_values = ["^injected code: \#{injected.code}$"]
^^^ Escaped
NOTE: Unfortunately #2088 (closed) has not been fixed yet.