Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support of optional parameters to Ruby codegen #649

Merged
merged 3 commits into from Apr 16, 2015
Merged

Add support of optional parameters to Ruby codegen #649

merged 3 commits into from Apr 16, 2015

Conversation

xhh
Copy link
Contributor

@xhh xhh commented Apr 16, 2015

Assuming name and status are optional parameters (required is false), instead of having to pass those two parameters like this:

PetApi.updatePetWithForm(1, "pet name", "pet status")

this PR allows passing any parameters that is needed, e.g. only update the status:

PetApi.updatePetWithForm(1, :status => "pet status")

Complete changes:

  • Pass optional parameters via the opts Hash
  • Handle query parameters in a way similar to header/form parameters to
    support parameter name normalization, e.g. the "additional_metadata"
    key is used for "additionalMetadata"
  • Rename variables to be consistent: query_params, header_params and
    form_params
  • Remove unnecessary blank lines
  • Rename local variable body to _body_param to avoid potential naming comflict

xhh added 3 commits April 16, 2015 15:56
* Pass optional parameters via the `opts` Hash
* Handle query parameters in a way similar to header/form parameters to
  support parameter name normalization, e.g. the "additional_metadata"
  key is passed for "additionalMetadata"
* Rename variables to be consistent: `query_params`, `header_params` and
  `form_params`
* Remove unnecessary blank lines
@xhh
Copy link
Contributor Author

xhh commented Apr 16, 2015

FYI. the ruby integration test pass successfully:

$ mvn integration-test -rf :RubyPetstoreClientTests
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Ruby Swagger Petstore Client 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:copy-dependencies (default) @ RubyPetstoreClientTests ---
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:exec (bundle-install) @ RubyPetstoreClientTests ---
Resolving dependencies...
Using ZenTest 4.11.0
Using addressable 2.3.8
Using autotest 4.4.6
Using ffi 1.9.8
Using sys-uname 0.9.2
Using autotest-fsevent 0.2.10
Using autotest-growl 0.2.16
Using autotest-rails-pure 4.1.2
Using safe_yaml 1.0.4
Using crack 0.4.2
Using diff-lcs 1.2.5
Using ethon 0.7.3
Using json 1.8.2
Using rspec-support 3.2.2
Using rspec-core 3.2.2
Using rspec-expectations 3.2.0
Using rspec-mocks 3.2.1
Using rspec 3.2.0
Using typhoeus 0.7.1
Using swagger-client 4.06.08 from source at .
Using vcr 2.9.3
Using webmock 1.21.0
Using bundler 1.7.7
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:exec (bundle-test) @ RubyPetstoreClientTests ---
.............................................

Finished in 25.88 seconds (files took 0.35215 seconds to load)
45 examples, 0 failures

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.335 s
[INFO] Finished at: 2015-04-16T18:39:37+08:00
[INFO] Final Memory: 11M/156M
[INFO] ------------------------------------------------------------------------

fehguy added a commit that referenced this pull request Apr 16, 2015
Add support of optional parameters to Ruby codegen
@fehguy fehguy merged commit e45b04e into swagger-api:develop_2.0 Apr 16, 2015
@xhh xhh deleted the ruby-optional-params branch March 14, 2016 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants