Sha256: 9ada0c79b8ff248ccb06d81315244c7d85f74019df15e83c881e70fb462f24e2

Contents?: true

Size: 764 Bytes

Versions: 4

Compression:

Stored size: 764 Bytes

Contents

# frozen_string_literal: true

module Meta
  class Responses
    extend Forwardable

    attr_reader :responses

    def initialize(responses = {})
      @responses = responses || {}
    end

    def_delegators :@responses, :[], :empty?, :length, :keys

    def to_swagger_doc(schemas, scope:)
      if responses.empty?
        { '200' => { description: '' } }
      else
        responses.transform_values do |schema|
          {
            description: '', # description 属性必须存在
            content: schema ? {
              'application/json' => {
                schema: schema.to_schema_doc(stage: :render, scope: scope, schema_docs_mapping: schemas)
              }
            } : nil
          }.compact
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
meta-api-0.2.0 lib//meta/application/responses.rb
meta-api-0.1.2 lib//meta/application/responses.rb
meta-api-0.1.1 lib//meta/application/responses.rb
meta-api-0.1.0 lib//meta/application/responses.rb