Module: TypedParameter::Swagger::TypeGenerator

Defined in:
lib/typed_parameter/swagger/type_generator.rb

Class Method Summary collapse

Class Method Details

.array_generate(type) ⇒ Object



19
20
21
# File 'lib/typed_parameter/swagger/type_generator.rb', line 19

def array_generate(type)
  { type: :array, items: generate(type[0]) }
end

.generate(type) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/typed_parameter/swagger/type_generator.rb', line 5

def generate(type)
  return array_generate(type) if type.is_a? Array
  return hash_generate(type) if type.is_a? Hash
  return { ref: type } if type < TypedParameter::Base

  Swagger::Types[type.name.to_sym]&.value
end

.hash_generate(hash) ⇒ Object



13
14
15
16
17
# File 'lib/typed_parameter/swagger/type_generator.rb', line 13

def hash_generate(hash)
  h = hash.transform_values { |value| generate(value) }

  { type: :object, properties: h }
end