module TypedParameter::Swagger::PropertyGenerator

Public Class Methods

generate(swagger_properties) click to toggle source
# File lib/typed_parameter/swagger/property_generator.rb, line 5
def generate(swagger_properties)
  swagger_properties.transform_values do |options|
    next { "$ref": ref(options[:ref]) } if options[:ref].present?

    if options[:type] == :array
      items = options[:items].dup
      if items[:ref].present?
        ref = items.delete(:ref)
        items['$ref'] = ref(ref)
        options[:items] = items
      end
    end

    options
  end
end
ref(ref_component) click to toggle source
# File lib/typed_parameter/swagger/property_generator.rb, line 22
def ref(ref_component)
  "#/components/schemas/#{ref_component.key}"
end