Sha256: 2dd58c1a43be28237fa07d76d45c93bd93c32a6254534c2d5cef208b66b7a1a2

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

module Nexmo
  module OAS
    module Renderer
      module Presenters
        module ResponseTab
          class Panel
            attr_reader :index

            def initialize(schema:, index:, format:, content:)
              @schema  = schema
              @index   = index
              @format  = format
              @content = content
            end

            def css_classes
              classes = ['Vlt-tabs__panel']
              classes << 'Vlt-tabs__panel_active' if @index.zero?
              classes.join(' ')
            end

            def content
              if @content == :responses
                Nexmo::OAS::Renderer::ResponseParserDecorator.
                  new(@schema).
                  html(@format, xml_options: @schema['xml'])
              else
                [:'open_api/_response_fields', locals: {
                  schema: @schema,
                  index: @index,
                  format: @format,
                }]
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nexmo-oas-renderer-0.5.1 lib/nexmo/oas/renderer/presenters/response_tab/panel.rb
nexmo-oas-renderer-0.5.0 lib/nexmo/oas/renderer/presenters/response_tab/panel.rb
nexmo-oas-renderer-0.4.1 lib/nexmo/oas/renderer/presenters/response_tab/panel.rb
nexmo-oas-renderer-0.4.0 lib/nexmo/oas/renderer/presenters/response_tab/panel.rb