Sha256: 613a0c05a47434da76a2d39120b01650c8b48deb35f25de9930f18ff6cf9ce0a

Contents?: true

Size: 334 Bytes

Versions: 4

Compression:

Stored size: 334 Bytes

Contents

module DeepTest
  class ListenerList
    attr_reader :listeners

    def initialize(listeners)
      @listeners = listeners
    end

    NullListener.instance_methods(false).each do |event|
      eval <<-end_src
        def #{event}(*args)
          @listeners.each {|l| l.#{event}(*args)}
        end
      end_src
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
deep_test_pre-2.0 lib/deep_test/listener_list.rb
jstorimer-deep-test-2.0.0 lib/deep_test/listener_list.rb
jstorimer-deep-test-0.2.0 lib/deep_test/listener_list.rb
jstorimer-deep-test-0.1.0 lib/deep_test/listener_list.rb