Module: MinispecMetadata::Describe

Defined in:
lib/minispec-metadata/describe.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#describe(desc, *additional_desc, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/minispec-metadata/describe.rb', line 4

def describe(desc, *additional_desc, &block)
   = . additional_desc

  # Minitest 5 allows unlimited additional_desc.
  # Minitest 4 allows max 1 additional_desc.
  # So we need to pass up only the number of allowed additional_desc.
  additional_allowed =
    if Minitest::Versions::MAJOR <= 4
      additional_desc.first(1)
    else
      additional_desc
    end

  cls = super(desc, *additional_allowed.compact, &block)
  cls.extend ClassMethods

  cls.additional_desc = additional_desc
  cls. =  || {}

  cls
end