Module: TypedParameter::Swagger::PropertyGenerator

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

Class Method Summary collapse

Class Method Details

.generate(swagger_properties) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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) ⇒ Object



22
23
24
# File 'lib/typed_parameter/swagger/property_generator.rb', line 22

def ref(ref_component)
  "#/components/schemas/#{ref_component.key}"
end