Sha256: 3a00a505944ab3e06694e82b665c1852b613b6371223b5b9dd57a503e62ee790

Contents?: true

Size: 553 Bytes

Versions: 2

Compression:

Stored size: 553 Bytes

Contents

module Rodent
  class Base
    class << self
      attr_reader :listeners, :instance
      attr_accessor :error_handler

      def listeners
        @listeners ||= []
      end

      def route(type)
        @listeners.each do |listener|
          return listener if type == listener.type
        end
        nil
      end

      def listen(type, &block)
        listeners << Rodent::Listener.new(type, &block)
      end

      def bind
        listeners.each do |listener|
          listener.bind(error_handler)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rodent-0.0.7 lib/rodent/base.rb
rodent-0.0.6 lib/rodent/base.rb