avoid metadata mutation in request_factory

This commit is contained in:
domaindrivendev
2018-04-23 16:00:00 -07:00
parent 12daacf9a5
commit 26a3bf5079
2 changed files with 2 additions and 17 deletions

View File

@@ -29,15 +29,11 @@ module Rswag
path_item_params = metadata[:path_item][:parameters] || []
security_params = derive_security_params(metadata, swagger_doc)
operation_params = operation_params
.concat(path_item_params)
.concat(security_params)
# NOTE: Use of + instead of concat to avoid mutation of the metadata object
(operation_params + path_item_params + security_params)
.map { |p| p['$ref'] ? resolve_parameter(p['$ref'], swagger_doc) : p }
.uniq { |p| p[:name] }
.reject { |p| p[:required] == false && !example.respond_to?(p[:name]) }
metadata[:operation][:parameters] = operation_params unless operation_params.empty?
operation_params
end
def derive_security_params(metadata, swagger_doc)