Class: Gitlab::GrapeOpenapi::Models::RequestBody::ParameterSchema
- Inherits:
-
Object
- Object
- Gitlab::GrapeOpenapi::Models::RequestBody::ParameterSchema
- Includes:
- Concerns::FailFastAnnotatable, Concerns::LimitResolver, Concerns::RegexConverter, Concerns::Serializable, Converters::CoercerResolver
- Defined in:
- lib/gitlab/grape_openapi/models/request_body/parameter_schema.rb
Constant Summary
Constants included from Concerns::RegexConverter
Concerns::RegexConverter::JS_REGEX_TARGET
Constants included from Concerns::FailFastAnnotatable
Concerns::FailFastAnnotatable::FAIL_FAST_ANNOTATION
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(route:, key:, param_options:) ⇒ ParameterSchema
constructor
A new instance of ParameterSchema.
Methods included from Concerns::RegexConverter
Methods included from Converters::CoercerResolver
#build_coerced_schema, #coercer_mapping_for
Constructor Details
#initialize(route:, key:, param_options:) ⇒ ParameterSchema
Returns a new instance of ParameterSchema.
14 15 16 17 18 19 |
# File 'lib/gitlab/grape_openapi/models/request_body/parameter_schema.rb', line 14 def initialize(route:, key:, param_options:) @route = route @key = key @param_options = @validations = validations_for(key.to_sym) end |
Instance Method Details
#build ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/gitlab/grape_openapi/models/request_body/parameter_schema.rb', line 21 def build fail_fast = fail_fast_in_validations?(validations) @param_options = .merge(fail_fast: fail_fast) if fail_fast built_schema = build_raw_type_schema unless built_schema object_type = Converters::TypeResolver.resolve_type([:type]) || 'string' object_format = Converters::TypeResolver.resolve_format(nil, [:type]) built_schema = build_resolved_schema(object_type, object_format) end apply_allow_blank(built_schema) apply_limit!(built_schema, validations) built_schema end |