Sha256: 154dd41e5800f1cf5a897de898f3108ebc6fbf61d3f5f0eefc03fb6443fcda15

Contents?: true

Size: 942 Bytes

Versions: 10

Compression:

Stored size: 942 Bytes

Contents

module Praxis
  module Docs
    module OpenApi
      class InfoObject
        attr_reader :info, :version
        def initialize(version: , api_definition_info: )
          @version = version
          @info = api_definition_info
          raise "OpenApi docs require a 'Title' for your API." unless info.title
        end

        def dump
          data = { version: version }
          [
            :title,
            :description,
            :termsOfService,
            :contact,
            :license
          ].each do |attr|
            val = info.send(attr)
            data[attr] = val if val
          end

          # Special attributes
          data[:'x-name'] = info.name
          if info.logo_url
            data[:'x-logo'] = {
              url: info.logo_url,
              backgroundColor: "#FFFFFF",
              altText: info.title
            }
          end
          data
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
praxis-2.0.pre.18 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.17 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.16 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.15 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.14 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.13 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.12 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.11 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.10 lib/praxis/docs/open_api/info_object.rb
praxis-2.0.pre.9 lib/praxis/docs/openapi/info_object.rb