Module: Kernel

Defined in:
lib/minitest/implicit/subject.rb

Instance Method Summary collapse

Instance Method Details

#alias_describeObject



5
# File 'lib/minitest/implicit/subject.rb', line 5

alias_method :alias_describe, :describe

#describe(*args, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/minitest/implicit/subject.rb', line 7

def describe(*args, &block)
  cls = alias_describe(*args, &block)
  subject = args.first

  if !subject.is_a?(String) && !cls.instance_methods.include?(:subject)
    if subject.respond_to?(:included_modules) && Array === subject.included_modules && subject.included_modules.include?(Singleton)
      subject = subject.instance
    end

    cls.subject { subject }
  end

  cls
end