Sha256: eb887a26d7b33292ab9b2cf6ae935ff81eca9b94bcf9216d0fcda86251693aaf

Contents?: true

Size: 575 Bytes

Versions: 3

Compression:

Stored size: 575 Bytes

Contents

class NSNotificationCenter
  attr_reader :observers

  def observe(observer, name, object=nil, &proc)
    @observers            ||= {}
    @observers[observer]  ||= []
    @observers[observer]  << proc
    self.addObserver(proc, selector:'call', name:name, object:object)
  end

  def unobserve(observer)
    return unless @observers[observer]
    @observers[observer].each do |proc|
      removeObserver(proc)
    end
    @observers.delete(observer)
  end
  
  def post(name, object=nil, info=nil)
    self.postNotificationName(name, object: object, userInfo:info)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bubble-wrap-0.1.2 lib/bubble-wrap/ns_notification_center.rb
bubble-wrap-0.1.1 lib/bubble-wrap/ns_notification_center.rb
bubble-wrap-0.1.0 lib/bubble-wrap/ns_notification_center.rb