Sha256: 8365d5366f5b56bc0efe24f9bec73f85a20df1b161f97b66696a52be3f5e72c4

Contents?: true

Size: 897 Bytes

Versions: 2

Compression:

Stored size: 897 Bytes

Contents

# frozen_string_literal: true

require "openapi3_parser/node/info"
require "openapi3_parser/node_factory/license"
require "openapi3_parser/node_factory/contact"
require "openapi3_parser/node_factory/object"
require "openapi3_parser/validation/input_validator"
require "openapi3_parser/validators/url"

module Openapi3Parser
  module NodeFactory
    class Info < NodeFactory::Object
      allow_extensions
      field "title", input_type: String, required: true
      field "description", input_type: String
      field "termsOfService",
            input_type: String,
            validate: Validation::InputValidator.new(Validators::Url)
      field "contact", factory: Contact
      field "license", factory: License
      field "version", input_type: String, required: true

      private

      def build_object(data, context)
        Node::Info.new(data, context)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
openapi3_parser-0.5.1 lib/openapi3_parser/node_factory/info.rb
openapi3_parser-0.5.0 lib/openapi3_parser/node_factory/info.rb