module TypedParameter::Swagger::ComponentGenerator

Public Class Methods

generate(parameter_class) click to toggle source
# File lib/typed_parameter/swagger/component_generator.rb, line 5
def generate(parameter_class)
  key = parameter_class.key
  properties = Swagger::PropertyGenerator.generate(parameter_class.swagger_properties)

  { "#{key}": { type: :object, properties: properties } }
end
generate_all!() click to toggle source
# File lib/typed_parameter/swagger/component_generator.rb, line 12
def generate_all!
  parameter_classes = TypedParameter::Base.descendants.reject { |c| c.fields.empty? }

  parameter_classes.reduce({}) { |prev, curr| prev.merge(generate(curr)) }
end