Sha256: d80519fe98123f207f03917c3968ab9791f56a2bd4cd23ebe17d091e7f1ff401

Contents?: true

Size: 965 Bytes

Versions: 23

Compression:

Stored size: 965 Bytes

Contents

# frozen_string_literal: true

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 }
          %i[
            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

23 entries across 23 versions & 1 rubygems

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