Sha256: 81daac3516a14090c030ad13aac70cf6167daf3347b46332e33b8e9775faf977
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true require "ostruct" require "openapi3_parser/node_factory/object_factory/field_config" module Openapi3Parser module NodeFactory module ObjectFactory module Dsl def field(name, **options) @field_configs ||= {} @field_configs[name] = FieldConfig.new(options) end def field_configs @field_configs || {} end def allow_extensions @allow_extensions = true end def allowed_extensions? @allow_extensions == true end def mutually_exclusive(*fields, required: false) @mutually_exclusive ||= [] @mutually_exclusive << OpenStruct.new( fields: fields, required: required ) end def mutually_exclusive_fields @mutually_exclusive || [] end def validate(*items, &block) @validations = (@validations || []).concat(items) @validations << block if block end def validations @validations || [] end 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/object_factory/dsl.rb |
openapi3_parser-0.5.0 | lib/openapi3_parser/node_factory/object_factory/dsl.rb |