module Kernel
def describe desc, *additional_desc, &block # :doc:
def describe desc, *additional_desc, &block # :doc: stack = Minitest::Spec.describe_stack is_spec_class = Class === self && kind_of?(Minitest::Spec::DSL) name = [stack.last, desc, *additional_desc] name.prepend self if stack.empty? && is_spec_class sclas = stack.last \ || (is_spec_class && self) \ || Minitest::Spec.spec_type(desc, *additional_desc) cls = sclas.create name.compact.join("::"), desc stack.push cls cls.class_eval(&block) stack.pop cls end