class PPCurses::NotificationCentre
Public Class Methods
default_centre()
click to toggle source
# File lib/ppcurses/notification_centre.rb, line 11 def NotificationCentre.default_centre @@default_centre end
new()
click to toggle source
# File lib/ppcurses/notification_centre.rb, line 5 def initialize @listeners = Hash.new end
Public Instance Methods
add_observer( observer, selector, name, sender)
click to toggle source
# File lib/ppcurses/notification_centre.rb, line 16 def add_observer( observer, selector, name, sender) if @listeners.has_key?(name) sender_hash = @listeners.fetch(name) else sender_hash = Hash.new @listeners.store(name, sender_hash) end sender_hash.store(sender, [observer, selector]) end
post_notification( name, sender )
click to toggle source
# File lib/ppcurses/notification_centre.rb, line 30 def post_notification ( name, sender ) if @listeners.has_key?(name) == false then return end sender_hash = @listeners.fetch(name) if sender_hash.has_key?(sender) == false then return end listener_info = sender_hash.fetch(sender) # observer = listener_info[0] # Currently unused callback = listener_info[1] notification = Notification.new(name, sender) callback.call ( notification ) end