Sha256: e33863047711fd1a74cf6e68f198a02adce080c3e70dd7094531237384f6b058

Contents?: true

Size: 1.2 KB

Versions: 23

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

require_relative 'response_object'

module Praxis
  module Docs
    module OpenApi
      class ResponsesObject
        # https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responses-object
        attr_reader :responses

        def initialize(responses:)
          @responses = responses
        end

        def dump
          # {
          #   "200": {
          #     "description": "a pet to be returned",
          #     "content": {
          #       "application/json": {
          #         "schema": {
          #           type: :object
          #         }
          #       }
          #     }
          #   },
          #   "default": {
          #     "description": "Unexpected error",
          #     "content": {
          #       "application/json": {
          #         "schema": {
          #           type: :object
          #         }
          #       }
          #     }
          #   }
          # }
          responses.each_with_object({}) do |(_response_name, response_definition), hash|
            hash[response_definition.status.to_s] = ResponseObject.new(info: response_definition).dump
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
praxis-2.0.0 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.40 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.39 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.38 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.37 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.36 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.35 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.34 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.33 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.32 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.31 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.30 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.29 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.28 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.27 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.26 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.25 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.24 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.23 lib/praxis/docs/open_api/responses_object.rb
praxis-2.0.pre.22 lib/praxis/docs/open_api/responses_object.rb