Module: RSpec::RequestableExamples

Defined in:
lib/rspec/requestable-examples.rb

Defined Under Namespace

Classes: RequestedExamples

Instance Method Summary collapse

Instance Method Details

#examples_that_can_be_requestedObject



15
16
17
# File 'lib/rspec/requestable-examples.rb', line 15

def examples_that_can_be_requested
  @examples_that_can_be_requested ||= []
end

#request_examples(options) ⇒ Object



19
20
21
# File 'lib/rspec/requestable-examples.rb', line 19

def request_examples(options)
  @requested_examples = RequestedExamples.new(options)
end

#requestable_describe(description, options = {}, &blk) ⇒ Object Also known as: requestable_context



37
38
39
40
41
# File 'lib/rspec/requestable-examples.rb', line 37

def requestable_describe(description, options={}, &blk)
  label = options[:as] || description
  requestable_examples << label
  describe description, &blk if requested_examples.run?(label)
end

#requestable_example(description, options = {}, &blk) ⇒ Object Also known as: requestable_it



27
28
29
30
# File 'lib/rspec/requestable-examples.rb', line 27

def requestable_example(description, options={}, &blk)
  examples_that_can_be_requested << description
  it description, &blk if requested_examples.run?(options[:as] || description)
end

#requestable_examplesObject



33
34
35
# File 'lib/rspec/requestable-examples.rb', line 33

def requestable_examples
  @requestable_examples ||= []
end

#requested_examplesObject



23
24
25
# File 'lib/rspec/requestable-examples.rb', line 23

def requested_examples
  @requested_examples
end

#verify_requested_examples!Object



44
45
46
47
48
49
# File 'lib/rspec/requestable-examples.rb', line 44

def verify_requested_examples!
  missing_examples = requested_examples - examples_that_can_be_requested
  if missing_examples.any?
    raise %|Trying to request examples that don't exist:\n#{missing_examples.join("\n")}|
  end
end