require "busted/counter" require "busted/countable" require "busted/tracer" require "busted/traceable" require "busted/profiler/default" module Busted module Profiler extend self def run(options, &block) klass(options.fetch :profiler, :default).new(options, &block).run end private def klass(profiler) Profiler.const_get profiler.capitalize rescue NameError fail ArgumentError, "profiler `#{profiler}' does not exist" end end end