Skip to content

Commit acebef6

Browse files
committed
I have no idea what Im doing
1 parent cb77feb commit acebef6

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

rswag-specs/lib/rswag/specs/example_group_helpers.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,18 @@ def parameter(attributes)
5151
end
5252
end
5353

54+
55+
def request_body_example(name:, summary:, value:, mime:)
56+
if metadata.key?(:operation)
57+
metadata[:operation][:request_examples] ||= {}
58+
metadata[:operation][:request_examples][mime] ||= {}
59+
metadata[:operation][:request_examples][mime][name] = {
60+
value: value,
61+
summary: summary,
62+
}
63+
end
64+
end
65+
5466
def response(code, description, metadata = {}, &block)
5567
metadata[:response] = { code: code, description: description }
5668
context(description, metadata, &block)

rswag-specs/lib/rswag/specs/swagger_formatter.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,12 @@ def stop(_notification = nil)
6060
if value && schema_param && mime_list
6161
value[:requestBody] = { content: {} } unless value.dig(:requestBody, :content)
6262
mime_list.each do |mime|
63+
6364
value[:requestBody][:content][mime] = { schema: schema_param[:schema] }
65+
examples = value.dig(:request_examples, mime)
66+
if examples
67+
value[:requestBody][:content][mime][:examples] = examples
68+
end
6469
end
6570
end
6671

@@ -209,6 +214,7 @@ def remove_invalid_operation_keys!(value)
209214
is_hash = value.is_a?(Hash)
210215
value.delete(:consumes) if is_hash && value.dig(:consumes)
211216
value.delete(:produces) if is_hash && value.dig(:produces)
217+
value.delete(:request_examples) if is_hash && value.dig(:request_examples)
212218
end
213219
end
214220
end

0 commit comments

Comments
 (0)