Sha256: bd70a2c175693131c80b8a529d2610135e7a905e4931b98df3324c78f8e2fc56

Contents?: true

Size: 949 Bytes

Versions: 3

Compression:

Stored size: 949 Bytes

Contents

# frozen_string_literal: true

require "openapi3_parser/nodes/security_scheme"
require "openapi3_parser/node_factories/oauth_flows"
require "openapi3_parser/node_factory/object"
require "openapi3_parser/node_factory/optional_reference"

module Openapi3Parser
  module NodeFactories
    class SecurityScheme
      include NodeFactory::Object

      allow_extensions

      field "type", input_type: String, required: true
      field "description", input_type: String
      field "name", input_type: String
      field "in", input_type: String
      field "scheme", input_type: String
      field "bearerFormat", input_type: String
      field "flows", factory: :flows_factory
      field "openIdConnectUrl", input_type: String

      private

      def build_object(data, context)
        Nodes::SecurityScheme.new(data, context)
      end

      def flows_factory(context)
        NodeFactories::OauthFlows.new(context)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openapi3_parser-0.3.0 lib/openapi3_parser/node_factories/security_scheme.rb
openapi3_parser-0.2.0 lib/openapi3_parser/node_factories/security_scheme.rb
openapi3_parser-0.1.0 lib/openapi3_parser/node_factories/security_scheme.rb