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



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

def requestable_describe(description, options={}, &blk)
  label = options[:as] || description
  examples_that_can_be_requested << 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
31
# File 'lib/rspec/requestable-examples.rb', line 27

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

#requestable_examplesObject



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

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



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

def verify_requested_examples!
  missing_examples = requested_examples - examples_that_can_be_requested
  missing_examples.each do |description|
    it description do
      pending("This example was requested but isn't defined, typo?")
    end
  end
end