module Spectroscope::DSL

The DSL module extends the toplevel.

Public Instance Methods

describe(topic, *tags, &block) click to toggle source

Define an example group.

# File lib/spectroscope.rb, line 17
def describe(topic, *tags, &block)
  settings = {}

  if Class === topic
    settings[:subject] = topic
    settings[:label]   = topic.name
  else
    settings[:label]   = topic
  end

  $TEST_SUITE << Spectroscope::Context.new(settings, &block)
end
shared_examples_for(label, &block) click to toggle source
# File lib/spectroscope.rb, line 33
def shared_examples_for(label, &block)
  Spectroscope.shared_examples[label] = block
end