module Dry::Doc::Namespace
Public Instance Methods
as_open_api()
click to toggle source
# File lib/dry/doc/namespace.rb, line 55 def as_open_api definitions.freeze defs = definitions.each_with_object({}) do |d, h| h[d.name] = d.as_open_api end { schemas: defs } end
define(name, &config)
click to toggle source
# File lib/dry/doc/namespace.rb, line 39 def define name, &config klass = Class.new ::Dry::Doc::Object do |c| class_exec &config end register name, klass end
definitions()
click to toggle source
# File lib/dry/doc/namespace.rb, line 35 def definitions @_definitions ||= [] end
type(name, inner)
click to toggle source
# File lib/dry/doc/namespace.rb, line 46 def type name, inner klass = ::Dry::Doc::Type.new inner register name, klass end
types()
click to toggle source
# File lib/dry/doc/namespace.rb, line 51 def types ::Dry::Doc::Types end
Private Instance Methods
register(name, klass)
click to toggle source
# File lib/dry/doc/namespace.rb, line 69 def register name, klass klass.ref = name klass.freeze const_set name, klass definitions.push klass klass end