Sha256: ae943169d7dc83a299fd4f09af8e7850d13b97736ec3119938df62c6497a35f1

Contents?: true

Size: 479 Bytes

Versions: 1

Compression:

Stored size: 479 Bytes

Contents

require 'singleton'

module Wisper
  class GlobalListeners
    include Singleton

    def initialize
      @listeners = Set.new
    end

    def add_listener(listener, options = {})
      listeners << ObjectRegistration.new(listener, options)
      self
    end

    def listeners
      @listeners
    end

    def self.add_listener(listener, options = {})
      instance.add_listener(listener, options)
    end

    def self.listeners
      instance.listeners
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wisper-1.0.1 lib/wisper/global_listeners.rb