Class: RSpec::Core::Example

Inherits:
Object
  • Object
show all
Defined in:
lib/appmap/rspec.rb

Class Method Summary collapse

Class Method Details

.new(*arguments, &block) ⇒ Object



299
300
301
302
303
304
305
# File 'lib/appmap/rspec.rb', line 299

def self.new(*arguments, &block)
  warn "Wrapping example_block for #{name}" if AppMap::RSpec::LOG
  allocate.tap do |obj|
    arguments[arguments.length - 1] = wrap_example_block(obj, arguments.last) if arguments.last.is_a?(Proc)
    obj.send :initialize, *arguments, &block
  end
end

.wrap_example_block(example, fn) ⇒ Object



287
288
289
290
291
292
293
294
295
296
# File 'lib/appmap/rspec.rb', line 287

def wrap_example_block(example, fn)
  proc do
    AppMap::RSpec.begin_spec example
    begin
      instance_exec(&fn)
    ensure
      AppMap::RSpec.end_spec example
    end
  end
end