Class: SwaggerDocsRails::OpenapiBuilder
- Inherits:
-
Object
- Object
- SwaggerDocsRails::OpenapiBuilder
- Defined in:
- lib/swagger_docs_rails/openapi_builder.rb
Constant Summary collapse
- ID_PARAM =
{ name: "id", in: "path", required: true, schema: { type: "integer", format: "int64" }, description: "ID do registro" }.freeze
- PAGINATION_PARAMS =
[ { name: "page", in: "query", required: false, schema: { type: "integer", default: 1 }, description: "Número da página" }, { name: "per_page", in: "query", required: false, schema: { type: "integer", default: 25 }, description: "Itens por página" } ].freeze
- RANSACK_PARAM =
{ name: "q", in: "query", required: false, style: "deepObject", explode: true, schema: { type: "object", additionalProperties: { type: "string" }, example: { "nome_cont" => "joao", "email_i_cont" => "JOAO", "cpf_eq" => "12345678900", "created_at_gteq" => "2024-01-01", "created_at_lteq" => "2024-12-31", "ativo_eq" => "true", "s" => "nome asc" } }, description: <<~DESC.strip DESC }.freeze
- LOOKUP_TABLE_PATTERN =
Tabelas que são apenas lookups/enums — não expandir como objeto aninhado
/\A(g_tipos_|g_status\z|g_sexos\z|g_regioes\z| g_paises\z|g_periodos_|g_graus_|g_estados_civis\z)/x.freeze
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(schema_parser, controller_parser, config = {}) ⇒ OpenapiBuilder
constructor
A new instance of OpenapiBuilder.
Constructor Details
#initialize(schema_parser, controller_parser, config = {}) ⇒ OpenapiBuilder
Returns a new instance of OpenapiBuilder.
58 59 60 61 62 63 |
# File 'lib/swagger_docs_rails/openapi_builder.rb', line 58 def initialize(schema_parser, controller_parser, config = {}) @schema_parser = schema_parser @controller_parser = controller_parser @config = config @dynamic_schemas = {} end |
Instance Method Details
#build ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/swagger_docs_rails/openapi_builder.rb', line 65 def build paths = build_paths components = build_components versions = detected_versions { openapi: "3.0.3", info: build_info(versions), servers: build_servers(versions), tags: (versions), paths: paths, components: components, security: build_global_security } end |