Sha256: a590e65964bba9eddf7c15fb1faa514b10cbca9f10a39eb3b7d9baa0d9124480
Contents?: true
Size: 898 Bytes
Versions: 114
Compression:
Stored size: 898 Bytes
Contents
# frozen_string_literal: true class ReeSwagger::BuildSchema include Ree::FnDSL fn :build_schema do link :build_endpoint_schema link 'ree_swagger/dto/endpoint_dto', -> { EndpointDto } end contract(String, String, String, String, ArrayOf[EndpointDto] => Hash) def call(title:, description:, version:, api_url:, endpoints:) { openapi: "3.0.0", info: { title: title, description: description, version: version }, components: { securitySchemes: { ApiKeyAuth: { type: 'apiKey', in: 'header', name: 'Authorization' } } }, servers: [{ url: api_url }], paths: endpoints.each_with_object(Hash.new { _1[_2] = {} }) { path_dto = build_endpoint_schema(_1) _2[path_dto.path].merge!(path_dto.schema) } } end end
Version data entries
114 entries across 114 versions & 1 rubygems