Sha256: 1e77b18f9d61ed88d03ce08953cf013074f6b6a4030d15a1e8b622789b42640a
Contents?: true
Size: 729 Bytes
Versions: 9
Compression:
Stored size: 729 Bytes
Contents
# Container to allow writes to multiple devices # Code originally from: # http://stackoverflow.com/a/6410202 module LogStashLogger module Device class MultiDelegator < Base attr_reader :devices def initialize(opts) @io = self @devices = create_devices(opts[:outputs]) self.class.delegate(:write, :close, :close!, :flush) end private def create_devices(opts) opts.map do |device_opts| Device.new(device_opts) end end def self.delegate(*methods) methods.each do |m| define_method(m) do |*args| @devices.each { |device| device.send(m, *args) } end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems