Class: Brainstem::ApiDocs::Formatters::OpenApiSpecification::Version2::FieldDefinitions::EndpointParamFormatter
- Inherits:
-
ResponseFieldFormatter
- Object
- AbstractFormatter
- ResponseFieldFormatter
- Brainstem::ApiDocs::Formatters::OpenApiSpecification::Version2::FieldDefinitions::EndpointParamFormatter
- Defined in:
- lib/brainstem/api_docs/formatters/open_api_specification/version_2/field_definitions/endpoint_param_formatter.rb
Instance Method Summary collapse
- #format_object_field(field_config, field_properties, include_description = true) ⇒ Object
-
#initialize(endpoint, param_name, param_tree) ⇒ EndpointParamFormatter
constructor
A new instance of EndpointParamFormatter.
- #required_properties(field_properties) ⇒ Object
Methods inherited from ResponseFieldFormatter
Methods included from Helper
#format_http_method, #format_sentence, #format_tag_name, #presenter_title, #type_and_format, #uncapitalize
Methods inherited from AbstractFormatter
Methods included from Concerns::Optional
Constructor Details
#initialize(endpoint, param_name, param_tree) ⇒ EndpointParamFormatter
Returns a new instance of EndpointParamFormatter.
10 11 12 13 14 |
# File 'lib/brainstem/api_docs/formatters/open_api_specification/version_2/field_definitions/endpoint_param_formatter.rb', line 10 def initialize(endpoint, param_name, param_tree) @endpoint = endpoint @param_name = param_name @param_tree = param_tree end |
Instance Method Details
#format_object_field(field_config, field_properties, include_description = true) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/brainstem/api_docs/formatters/open_api_specification/version_2/field_definitions/endpoint_param_formatter.rb', line 16 def format_object_field(field_config, field_properties, include_description = true) super(field_config, field_properties, include_description).tap do |field_schema| if (required_props = required_properties(field_properties)).present? field_schema[:required] = required_props end end end |
#required_properties(field_properties) ⇒ Object
24 25 26 27 28 |
# File 'lib/brainstem/api_docs/formatters/open_api_specification/version_2/field_definitions/endpoint_param_formatter.rb', line 24 def required_properties(field_properties) field_properties.select do |_, property_data| !property_data[:_config][:dynamic_key] && property_data[:_config][:required] end.keys end |