class Praxis::Docs::OpenApi::InfoObject

Attributes

info[R]
version[R]

Public Class Methods

new(version:, api_definition_info:) click to toggle source
# File lib/praxis/docs/open_api/info_object.rb, line 9
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

Public Instance Methods

dump() click to toggle source
# File lib/praxis/docs/open_api/info_object.rb, line 15
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