Module: Citrus::Utils::ModuleUtil

Included in:
Master::Master, Monitor::Monitor
Defined in:
lib/citrus/util/module_util.rb

Overview

ModuleUtil

Instance Method Summary collapse

Instance Method Details

#load_modulesObject

Load console modules



31
32
33
34
35
36
37
38
39
# File 'lib/citrus/util/module_util.rb', line 31

def load_modules
  @app.modules_registered.each { |module_id, module_registered|
    klass = module_registered[:module_klass]
    args = module_registered[:args]
    module_entity = klass.new args, @console_service
    @console_service.register module_registered[:module_id], module_entity
    @modules << module_entity
  }
end

#register_default_modulesObject

Register default console modules



19
20
21
22
23
24
25
26
27
28
# File 'lib/citrus/util/module_util.rb', line 19

def register_default_modules
  unless @close_watcher
    if @master
      @app.register ConsoleModules::MasterWatcher, {:app => @app}
    else
      @app.register ConsoleModules::MonitorWatcher, {:app => @app}
    end
  end
  @app.register ConsoleModules::Console, {:app => @app}
end

#start_module(err, modules, index, &block) ⇒ Object

Start console module

Parameters:

  • err (Object)
  • modules (Array)
  • index (Integer)


51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/citrus/util/module_util.rb', line 51

def start_module err, modules, index, &block
  if err || index >= modules.length
    block_given? and yield err
    return
  end

  console_module = modules[index]
  if console_module && console_module.respond_to?(:start)
    console_module.start { |err|
      start_module err, modules, (index + 1), &block
    }
  else
    start_module err, modules, (index + 1), &block
  end
end

#start_modules(&block) ⇒ Object

Start console modules



42
43
44
# File 'lib/citrus/util/module_util.rb', line 42

def start_modules &block
  start_module nil, @modules, 0, &block
end