Sha256: b9dee7f507016b18e41b049d992d5c2145e2fa0cd02d234e194df2efce74cdd0

Contents?: true

Size: 1.89 KB

Versions: 16

Compression:

Stored size: 1.89 KB

Contents

<% callback = false if callback.nil? %>

<% if endpoint.parameters.select { |p| p.in == 'header'}.any? %>
  <h4>Header Parameters</h4>
  <%= erb :'open_api/_parameters', locals: { parameters: endpoint.parameters.select { |p| p.in == 'header' }, callback: callback } %>
<% end %>

<% if endpoint.path_parameters.any? %>
  <h4>Path Parameters</h4>
  <%= erb :'open_api/_parameters', locals: { parameters: endpoint.path_parameters, callback: callback } %>
<% end %>

<% if endpoint.query_parameters.any? %>
  <h4>Query Parameter</h4>
  <%= erb :'open_api/_parameters', locals: { parameters: endpoint.query_parameters, callback: callback } %>
<% end %>

<% if endpoint.request_body %>
  <% format = endpoint.request_body.formats[0] %>
  <% unless endpoint.request_body.exhibits_one_of_multiple_schemas?(format) %>

    <%
      # @mheap: This is hacky handling for allOf, but it works for now
      # We probably want real allOf support in OasParser, but that's more time than I have right now
      allOf = endpoint.request_body.content[format]['schema']['allOf']
      if allOf
        params = allOf.reduce { |a,b| a.deep_merge(b) }
        params = params['properties'].map do |name, definition|
          OasParser::Property.new(nil, params, name, definition)
        end
      else
        params = endpoint.request_body.properties_for_format(format)
      end
      if params
    %>

      <h4>
        Request body
        <span class="Vlt-badge Vlt-badge--blue"><%= format %></span>
      </h4>

      <%= erb :'open_api/_parameters', locals: { parameters: params, callback: callback } %>
    <% end %>
  <% else %>
    <% endpoint.request_body.split_properties_for_format(format).each_with_index do |parameters, index| %>
      <h4><%= parameters[0].schema['oneOf'][index]['description'] %></h4>
      <%= erb :'open_api/_parameters', locals: { parameters: parameters, callback: callback } %>
    <% end %>
  <% end %>
<% end %>

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
nexmo-oas-renderer-0.4.1 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.4.0 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.7 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.6 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.5 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.4 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.3 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.2 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.1 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.3.0 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.2.2 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.2.1 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.2.0 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.1.2 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.1.1 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb
nexmo-oas-renderer-0.1.0 lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb