Sha256: 0b8c9882c0351cb60f4781f9c47f1036f0ba63198df9007b4a774e2cf65f7130
Contents?: true
Size: 657 Bytes
Versions: 21
Compression:
Stored size: 657 Bytes
Contents
module Cucumber module Formatter # Forwards any messages sent to this object to all recipients # that respond to that message. class Fanout < BasicObject attr_reader :recipients private :recipients def initialize(recipients) @recipients = recipients end def method_missing(message, *args) recipients.each do |recipient| recipient.send(message, *args) if recipient.respond_to?(message) end end def respond_to_missing?(name, include_private = false) recipients.any? { |recipient| recipient.respond_to?(name, include_private) } end end end end
Version data entries
21 entries across 21 versions & 2 rubygems