Sha256: 6171d2335fccab6fd434b1876c82569aaa3e013d45aa51b6f1fb9600d841e38f

Contents?: true

Size: 546 Bytes

Versions: 1

Compression:

Stored size: 546 Bytes

Contents

module Wisper
  class Configuration
    attr_reader :broadcasters

    def initialize
      @broadcasters = Broadcasters.new
    end

    def broadcaster(name, broadcaster)
      @broadcasters[name] = broadcaster
    end

    class Broadcasters
      extend Forwardable

      def_delegators :@data, :fetch, :[], :[]=, :empty?, :include?, :clear

      def initialize
        @data = {}
      end

      def fetch(key)
        raise KeyError, "broadcaster not found for #{key}" unless include?(key)
        @data[key]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wisper-1.5.0 lib/wisper/configuration.rb