Module: Kernel

Defined in:
lib/minitest-spec-rails/parallelize.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#describe(*args, &block) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/minitest-spec-rails/parallelize.rb', line 17

def describe *args, &block
  cls = describe_before_minitest_spec_constant_fix(*args, &block)
  cls_const = "Test__#{cls.name.to_s.split(/\W/).reject(&:empty?).join('_'.freeze)}"
  if block.source_location
    source_path, line_num = block.source_location
    source_path = Pathname.new(File.expand_path(source_path)).relative_path_from(Rails.root).to_s
    source_path = source_path.split(/\W/).reject(&:empty?).join("_".freeze)
    cls_const += "__#{source_path}__#{line_num}"
  end
  cls_const += "_1" while MiniTestSpecRails::SpecTests.const_defined? cls_const
  MiniTestSpecRails::SpecTests.const_set cls_const, cls
  cls
end