class Dry::Core::ClassBuilder
def create_base(namespace, name, parent)
- Api: - private
def create_base(namespace, name, parent) begin namespace.const_get(name) rescue NameError # rubocop:disable Lint/SuppressedException end if namespace.const_defined?(name, false) existing = namespace.const_get(name) unless existing <= parent raise ParentClassMismatch, "#{existing.name} must be a subclass of #{parent.name}" end existing else klass = ::Class.new(parent || ::Object) namespace.const_set(name, klass) klass end end