class OpenApi::DSL::CombinedSchema

swagger.io/docs/specification/data-models/oneof-anyof-allof-not/ github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject

Attributes

mode[RW]
processed[RW]
schemas[RW]

Public Class Methods

new(combined_schema) click to toggle source
# File lib/oas_objs/combined_schema.rb, line 12
def initialize(combined_schema)
  combined_schema.delete_if { |_, v| v.nil? }
  self.mode = combined_schema.keys.first.to_s.camelize(:lower).to_sym
  self.schemas = combined_schema.values.first
end

Public Instance Methods

process() click to toggle source
# File lib/oas_objs/combined_schema.rb, line 18
def process
  self.processed = {
      mode =>
          schemas.map do |schema|
            type = schema.is_a?(Hash) ? schema[:type] : schema
            schema = { } unless schema.is_a?(Hash)
            SchemaObj.new(type, schema).process
          end
  }
end