Sha256: 3f393a4446e4dbd6c6b1f29a3c8530ef97f60f50d7cd5c547548f4330f917e34
Contents?: true
Size: 845 Bytes
Versions: 14
Compression:
Stored size: 845 Bytes
Contents
module Hooks @@hooks = {} def fire(data, *events) #puts "Hooks: #{@@hooks.inspect}" #puts "Events: #{events.inspect}" #puts "\twith data: #{data.inspect}" unless @@hooks[:global].nil? @@hooks[:global].call(data, 'global') end if events.length > 0 events.each do |event| #print "Checking for event: #{event} in hooks..." if @@hooks[event].nil? #puts "not found, ignoring." else #puts "found, firing!" @@hooks[event].call(data, event) end end end end def listen *events, &block #puts "Listening for #{events.inspect}" if events.empty? and block_given? @@hooks[:global] = block elsif !events.nil? and block_given? events.each do |event| @@hooks[event] = block end end end end
Version data entries
14 entries across 14 versions & 2 rubygems