Class: Committee::Drivers::OpenAPI2::HeaderSchemaBuilder

Inherits:
SchemaBuilder
  • Object
show all
Defined in:
lib/committee/drivers/open_api_2.rb

Instance Method Summary collapse

Methods inherited from SchemaBuilder

#initialize

Constructor Details

This class inherits a constructor from Committee::Drivers::OpenAPI2::SchemaBuilder

Instance Method Details

#callObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/committee/drivers/open_api_2.rb', line 115

def call
  if link_data["parameters"]
    link_schema = JsonSchema::Schema.new
    link_schema.properties = {}
    link_schema.required = []

    header_parameters = link_data["parameters"].select { |param_data| param_data["in"] == "header" }
    header_parameters.each do |param_data|
      check_required_fields!(param_data)

      param_schema = JsonSchema::Schema.new

      param_schema.type = [param_data["type"]]

      link_schema.properties[param_data["name"]] = param_schema
      if param_data["required"] == true
        link_schema.required << param_data["name"]
      end
    end

    link_schema
  end
end