module RSpec::Specify::ExampleGroup

Public Instance Methods

And(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 27
def And(message, options = {}, &block)
  run_example_step(:and, message, options, &block)
end
But(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 31
def But(message, options = {}, &block)
  run_example_step(:but, message, options, &block)
end
Given(message, options = {}, &block) click to toggle source

rubocop:disable Naming/MethodName

# File lib/specify/rspec/example_group.rb, line 15
def Given(message, options = {}, &block)
  run_example_step(:given, message, options, &block)
end
Then(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 23
def Then(message, options = {}, &block)
  run_example_step(:then, message, options, &block)
end
When(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 19
def When(message, options = {}, &block)
  run_example_step(:when, message, options, &block)
end
example(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 60
def example(message, options = {}, &block)
  run_example_step(:example, message, options, &block)
end
fact(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 40
def fact(message, options = {}, &block)
  run_example_step(:fact, message, options, &block)
end
include_steps(*args) click to toggle source
# File lib/specify/rspec/example_group.rb, line 4
def include_steps(*args)
  name = args.shift

  shared_block = ::RSpec.world.shared_example_steps[name]
  shared_block || raise(ArgumentError,
    "Unable to find shared steps '#{name.inspect}'")

  instance_exec(*args, &shared_block)
end
it(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 52
def it(message, options = {}, &block)
  run_example_step(:it, message, options, &block)
end
rule(message, options = {}, &block) click to toggle source

rubocop:enable Naming/MethodName

# File lib/specify/rspec/example_group.rb, line 36
def rule(message, options = {}, &block)
  run_example_step(:rule, message, options, &block)
end
specify(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 56
def specify(message, options = {}, &block)
  run_example_step(:specify, message, options, &block)
end
step(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 48
def step(message, options = {}, &block)
  run_example_step(:step, message, options, &block)
end
test(message, options = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 44
def test(message, options = {}, &block)
  run_example_step(:test, message, options, &block)
end

Private Instance Methods

execute_step(type, msg, opts) { || ... } click to toggle source
# File lib/specify/rspec/example_group.rb, line 80
def execute_step(type, msg, opts, &_block)
  begin
    yield
  # rubocop:disable Lint/RescueException
  rescue Exception => e
    ::RSpec.world.reporter.example_step_failed(self, type, msg, opts)
    raise e
  end
  # rubocop:enable Lint/RescueException
  ::RSpec.world.reporter.example_step_passed(self, type, msg, opts)
end
run_example_step(type, msg, opts = {}, &block) click to toggle source
# File lib/specify/rspec/example_group.rb, line 66
def run_example_step(type, msg, opts = {}, &block)
  ::RSpec.world.reporter.example_step_started(self, type, msg, opts)

  opts = { pending: true } if opts == :pending

  if block_given? && !opts[:pending]
    execute_step(type, msg, opts, &block)
  else
    ::RSpec.world.reporter.example_step_pending(
      self, type, msg, opts
    )
  end
end