class Fictium::OpenApi::V3Exporter::ParamFormatter

Public Class Methods

new(ignore_name: false, ignore_in: false) click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 5
def initialize(ignore_name: false, ignore_in: false)
  @ignore_name = ignore_name
  @ignore_in = ignore_in
end

Public Instance Methods

format(name, section, hash) click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 10
def format(name, section, hash)
  param = (hash || {})
  description = param.slice(:description, :required, :deprecated, :schema)
  description[:allowEmptyValue] = param[:allow_empty] if param[:allow_empty].present?
  add_required_fields(description)
  add_optional_fields(name, section, description)
  description
end

Private Instance Methods

add_optional_fields(name, section, description) click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 37
def add_optional_fields(name, section, description)
  description[:name] = name unless ignore_name?
  description[:in] = section unless ignore_in?
  description[:required] = true if section.to_s == 'path'
end
add_required_fields(description) click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 29
def add_required_fields(description)
  description[:description] ||= ''

  return if description[:schema] || description[:content]

  description[:schema] = {}
end
ignore_in?() click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 21
def ignore_in?
  @ignore_in
end
ignore_name?() click to toggle source
# File lib/fictium/exporters/open_api/v3_exporter/param_formatter.rb, line 25
def ignore_name?
  @ignore_name
end