Method: Supervisor#initialize

Defined in:
lib/Olib/supervisor/supervisor.rb

#initialize(name) ⇒ Object

Returns self.



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/Olib/supervisor/supervisor.rb', line 36

def initialize(name)
  supervisor = self

  if Supervisor.exists?(name)
    raise Exception.new "a Supervisor with the name #{name} already exists.  They are required to be unique"
  end

  @fibers     = []
  @pre_hooks  = []
  @post_hooks = []
  @name       = name
  @debug      = false
  @cleanup    = [Proc.new do
    Supervisor.unregister(supervisor) 
  end]
  
  Supervisor.register(supervisor)
  before_dying { cleanup! }
end