module SpawnExtensions

Public Class Methods

extended(base) click to toggle source

FIXME don't know how to tell Spawn to use add_spawn_proc without extended using extended forces to make methods class methods while this is not very clean

# File lib/spawnling/cucumber.rb, line 4
def self.extended(base)
  Spawn::method proc{ |block| add_spawn_proc(block) }
end

Private Class Methods

add_spawn_proc(block) click to toggle source
# File lib/spawnling/cucumber.rb, line 25
def self.add_spawn_proc(block)
  spawn_procs << block
end
spawn_procs() click to toggle source
# File lib/spawnling/cucumber.rb, line 21
def self.spawn_procs
  @@spawn_procs ||= []
end

Public Instance Methods

call_last_spawn_proc() click to toggle source

Calls the spawn that was created

Can be used to keep control over forked processes in your tests

# File lib/spawnling/cucumber.rb, line 11
def call_last_spawn_proc
  spawns = SpawnExtensions.spawn_procs

  raise "No spawn procs left" if spawns.empty?
  
  spawns.pop.call
end