module MinispecMetadata::Describe

Public Instance Methods

describe(desc, *additional_desc, &block) click to toggle source
Calls superclass method
# File lib/minispec-metadata/describe.rb, line 4
def describe(desc, *additional_desc, &block)
  metadata = MinispecMetadata.extract_metadata 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.describe_metadata = metadata || {}

  cls
end