Class: GrapeOAS::ApiModelBuilders::RequestParamsSupport::ParamSchemaBuilder
- Inherits:
-
Object
- Object
- GrapeOAS::ApiModelBuilders::RequestParamsSupport::ParamSchemaBuilder
- Includes:
- Concerns::OasUtilities, Concerns::TypeResolver
- Defined in:
- lib/grape_oas/api_model_builders/request_params_support/param_schema_builder.rb
Overview
Builds OpenAPI schemas from Grape parameter specifications.
Constant Summary
Constants included from Concerns::OasUtilities
Concerns::OasUtilities::VALID_CONSTANT_PATTERN
Constants included from Concerns::TypeResolver
Concerns::TypeResolver::MULTI_TYPE_PATTERN, Concerns::TypeResolver::TYPED_ARRAY_PATTERN
Class Method Summary collapse
-
.build(spec) ⇒ ApiModel::Schema
Builds a schema for a parameter specification.
Instance Method Summary collapse
Methods included from Concerns::OasUtilities
extract_extensions, #extract_extensions, pluralize, #pluralize, underscore, #underscore, valid_constant_name?, #valid_constant_name?
Methods included from Concerns::TypeResolver
#build_array_items_schema, #build_schema_for_primitive, #derive_primitive_and_member, #extract_multi_types, #extract_typed_array_member, #grape_boolean_type?, #multi_type?, #resolve_schema_type
Class Method Details
.build(spec) ⇒ ApiModel::Schema
Builds a schema for a parameter specification.
15 16 17 |
# File 'lib/grape_oas/api_model_builders/request_params_support/param_schema_builder.rb', line 15 def self.build(spec) new.build(spec) end |
Instance Method Details
#build(spec) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/grape_oas/api_model_builders/request_params_support/param_schema_builder.rb', line 19 def build(spec) doc = spec[:documentation] || {} raw_type = spec[:type] || doc[:type] schema = build_base_schema(spec, doc, raw_type) SchemaEnhancer.apply(schema, spec, doc) schema end |