Fix Sinatra::RequiredParams implementation #1431
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, when required_params is called in such a way that it expects a key in the params to be a hash, it fails with error
undefined method has_key?
when it is not indeed a hash in the params in a request.
Now, it's been ensured that the key can respond to
has_key?
beforehas_key?
is called on it.So,
required_params :p1, :p2 => [:p3]
now works properly even if
:p2
turns out not to point to a hash, e. g. if the params hash isit will properly halt with status 400.
A unit test has also been added to
required_params_spec.rb
. It failed before the fix, but now passes.