From 99d993a1af6f7db6ab9fe688f0dd96510854c297 Mon Sep 17 00:00:00 2001 From: Korstiaan de Ridder Date: Wed, 19 Jul 2017 13:15:22 +0200 Subject: [PATCH 1/2] Add support for 'brackets' collection format --- lib/grape-swagger/doc_methods/data_type.rb | 2 +- .../params_array_collection_fromat_spec.rb | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/lib/grape-swagger/doc_methods/data_type.rb b/lib/grape-swagger/doc_methods/data_type.rb index 23e92b01..1380360d 100644 --- a/lib/grape-swagger/doc_methods/data_type.rb +++ b/lib/grape-swagger/doc_methods/data_type.rb @@ -80,7 +80,7 @@ def mapping(value) end def collections - %w[csv ssv tsv pipes multi] + %w[csv ssv tsv pipes multi brackets] end end diff --git a/spec/swagger_v2/params_array_collection_fromat_spec.rb b/spec/swagger_v2/params_array_collection_fromat_spec.rb index 1472389e..455581f0 100644 --- a/spec/swagger_v2/params_array_collection_fromat_spec.rb +++ b/spec/swagger_v2/params_array_collection_fromat_spec.rb @@ -31,6 +31,14 @@ def app { 'declared_params' => declared(params) } end + params do + optional :array_of_strings, type: Array[String], desc: 'array in brackets collection format', documentation: { collectionFormat: 'brackets' } + end + + get '/array_of_strings_brackets_collection_format' do + { 'declared_params' => declared(params) } + end + add_swagger_documentation end end @@ -65,6 +73,21 @@ def app end end + describe 'documentation for array parameters in brackets collectionFormat set from documentation' do + subject do + get '/swagger_doc/array_of_strings_brackets_collection_format' + JSON.parse(last_response.body) + end + + specify do + expect(subject['paths']['/array_of_strings_brackets_collection_format']['get']['parameters']).to eql( + [ + { 'in' => 'formData', 'name' => 'array_of_strings', 'type' => 'array', 'items' => { 'type' => 'string' }, 'required' => false, 'collectionFormat' => 'brackets', 'description' => 'array in brackets collection format' } + ] + ) + end + end + describe 'documentation for array parameters with collectionFormat set to invalid option' do subject do get '/swagger_doc/array_of_strings_invalid_collection_format' From bfe2dd0f8f58a65a3d247e299286448ceeeae7ce Mon Sep 17 00:00:00 2001 From: Korstiaan de Ridder Date: Wed, 19 Jul 2017 13:25:55 +0200 Subject: [PATCH 2/2] Update changelog.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e04040ec..4e063d04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ #### Features -* Your contribution here. +* [#622](https://github.com/ruby-grape/grape-swagger/pull/622): Add support for 'brackets' collection format - [@korstiaan](https://github.com/korstiaan). #### Fixes