From acd8fc4d8e6946bb18959f123238a6d31344794a Mon Sep 17 00:00:00 2001 From: Panos Dalitsouris Date: Tue, 19 Dec 2023 06:38:28 +0200 Subject: [PATCH] Use array items type from validator --- lib/apipie/generator/swagger/param_description/type.rb | 10 +++++++++- .../generator/swagger/param_description/type_spec.rb | 7 ++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/apipie/generator/swagger/param_description/type.rb b/lib/apipie/generator/swagger/param_description/type.rb index cbf9bde1..080a61f7 100644 --- a/lib/apipie/generator/swagger/param_description/type.rb +++ b/lib/apipie/generator/swagger/param_description/type.rb @@ -67,7 +67,15 @@ def for_array_type '$ref' => reference_name } else - items = { type: 'string' } + type = Apipie::Generator::Swagger::TypeExtractor::TYPES[items_type.downcase.to_sym] + + type = if type.present? + type + else + Apipie::Generator::Swagger::TypeExtractor::TYPES[:string] + end + + items = { type: type.to_s } end enum = @param_description.options[:in] diff --git a/spec/lib/apipie/generator/swagger/param_description/type_spec.rb b/spec/lib/apipie/generator/swagger/param_description/type_spec.rb index fd190edf..dbbe34f0 100644 --- a/spec/lib/apipie/generator/swagger/param_description/type_spec.rb +++ b/spec/lib/apipie/generator/swagger/param_description/type_spec.rb @@ -115,10 +115,15 @@ it 'returns the reference' do expect(subject).to eq({ '$ref' => reference }) end - end end + context 'of a Swagger type' do + let(:validator_options) { { of: Integer } } + + it { is_expected.to eq({ type: 'integer' }) } + end + describe 'enum' do subject { items[:enum] }