class Horizon::Context
Attributes
store[R]
Public Class Methods
current()
click to toggle source
# File lib/horizon/context.rb, line 10 def self.current store.current_context end
current=(context)
click to toggle source
# File lib/horizon/context.rb, line 14 def self.current=(context) store.current_context = context end
reset!()
click to toggle source
# File lib/horizon/context.rb, line 18 def self.reset! store.current_context = nil end
store()
click to toggle source
# File lib/horizon/context.rb, line 6 def self.store @store ||= ThreadLocalContextStore.new end
Public Instance Methods
add_handler(handler)
click to toggle source
# File lib/horizon/context.rb, line 26 def add_handler(handler) handler.events_handled.each do |event| event_map[event] << handler end end
event_map()
click to toggle source
# File lib/horizon/context.rb, line 22 def event_map @event_map ||= Hash.new { |h, k| h[k] = Set.new } end
publish(event, *args)
click to toggle source
# File lib/horizon/context.rb, line 32 def publish(event, *args) event_map[event].each do |handler| handler.handle event, *args end end