Class: Gloo::Core::EventManager

Inherits:
Object
  • Object
show all
Defined in:
lib/gloo/core/event_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(engine) ⇒ EventManager

Set up the event manager.



15
16
17
18
# File 'lib/gloo/core/event_manager.rb', line 15

def initialize( engine )
  @engine = engine
  @engine.log.debug 'event manager intialized...'
end

Instance Method Details

#on_load(obj = nil, in_heap = false) ⇒ Object

Run on_load scripts in the recently loaded object If no obj is given the script will be run in root.



24
25
26
27
28
29
30
# File 'lib/gloo/core/event_manager.rb', line 24

def on_load( obj = nil, in_heap = false )
  return unless obj || in_heap

  @engine.log.debug 'on_load event'
  arr = Gloo::Core::ObjFinder.by_name( @engine, 'on_load', obj )
  arr.each { |o| Gloo::Exec::Dispatch.message( @engine, 'run', o ) }
end

#on_quitObject

Run on_quit scripts in any open objets. If no obj is given the script will be run in root.



69
70
71
72
73
# File 'lib/gloo/core/event_manager.rb', line 69

def on_quit
  @engine.log.debug 'on_quit event'
  arr = Gloo::Core::ObjFinder.by_name( @engine, 'on_quit' )
  arr.each { |o| Gloo::Exec::Dispatch.message( @engine, 'run', o ) }
end

#on_reload(obj) ⇒ Object

Run on_reload scripts in the object that will be reloaded.



46
47
48
49
50
51
52
# File 'lib/gloo/core/event_manager.rb', line 46

def on_reload( obj )
  return unless obj

  @engine.log.debug 'on_reload event'
  arr = Gloo::Core::ObjFinder.by_name( @engine, 'on_reload', obj )
  arr.each { |o| Gloo::Exec::Dispatch.message( @engine, 'run', o ) }
end

#on_save(obj) ⇒ Object

Run on_save scripts in the object that is being saved.



57
58
59
60
61
62
63
# File 'lib/gloo/core/event_manager.rb', line 57

def on_save( obj )
  return unless obj

  @engine.log.debug 'on_save event'
  arr = Gloo::Core::ObjFinder.by_name( @engine, 'on_save', obj )
  arr.each { |o| Gloo::Exec::Dispatch.message( @engine, 'run', o ) }
end

#on_unload(obj) ⇒ Object

Run on_unload scripts in the object that will be unloaded.



35
36
37
38
39
40
41
# File 'lib/gloo/core/event_manager.rb', line 35

def on_unload( obj )
  return unless obj

  @engine.log.debug 'on_unload event'
  arr = Gloo::Core::ObjFinder.by_name( @engine, 'on_unload', obj )
  arr.each { |o| Gloo::Exec::Dispatch.message( @engine, 'run', o ) }
end