swagger-api / swagger-api/swagger-codegen
[Ruby, PHP] Errors with slashes in pattern
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Description
For this in YAML syntax:
pattern: '^a/b$'
...the PHP code generated is:
if (!preg_match("/^a/b$/", ...
...and for Ruby:
Regexp.new(/^a/b$/)
The problem with both is that the slash between a and b should be backslash escaped to avoid errors. I tried this in DefaultCodegen.addRegularExpressionDelimiter:
return "/" + pattern.replace("/", "\\/") + "/";
...but it makes no difference on the eventual output.
Swagger-codegen version
Current master
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with DefaultCodegen.addRegularExpressionDelimiter, which the issue identifies as the attempted change, and trace how its result reaches the PHP and Ruby templates. Reproduce the YAML pattern '^a/b$' and inspect the generated snippets; done means both outputs escape the slash so the generated regular expressions do not error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, php, ruby
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100