module Kernel

def describe desc, &block

def describe desc, &block
  stack = MiniTest::Spec.describe_stack
  name  = desc.to_s.split(/\W+/).map { |s| s.capitalize }.join + "Spec"
  prev  = stack.last
  name  = "#{prev == MiniTest::Spec ? nil : prev}::#{name}"
  cls   = Object.class_eval "class #{name} < #{prev}; end; #{name}"
  cls.nuke_test_methods!
  stack.push cls
  cls.class_eval(&block)
  stack.pop
end