Class: BufferedLogger::LogDeviceProxy
- Inherits:
-
Object
- Object
- BufferedLogger::LogDeviceProxy
- Defined in:
- lib/buffered_logger/log_device_proxy.rb
Instance Method Summary collapse
- #close ⇒ Object
- #current_log ⇒ Object
- #end ⇒ Object
- #flush ⇒ Object
-
#initialize(logdev) ⇒ LogDeviceProxy
constructor
A new instance of LogDeviceProxy.
- #start ⇒ Object
- #started? ⇒ Boolean
- #sweep ⇒ Object
- #write(message) ⇒ Object
Constructor Details
#initialize(logdev) ⇒ LogDeviceProxy
Returns a new instance of LogDeviceProxy.
5 6 7 8 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 5 def initialize(logdev) @logdev = logdev @buffers = {} end |
Instance Method Details
#close ⇒ Object
10 11 12 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 10 def close @logdev.close end |
#current_log ⇒ Object
46 47 48 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 46 def current_log @buffers[key].string.dup end |
#end ⇒ Object
14 15 16 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 14 def end @logdev.write(@buffers.delete(key).string) end |
#flush ⇒ Object
18 19 20 21 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 18 def flush log, @buffers[key] = @buffers.delete(key).string, StringIO.new @logdev.write(log) end |
#start ⇒ Object
23 24 25 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 23 def start @buffers[key] = StringIO.new end |
#started? ⇒ Boolean
27 28 29 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 27 def started? @buffers.key?(key) end |
#sweep ⇒ Object
31 32 33 34 35 36 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 31 def sweep @buffers.clone.each do |key, buffer| @buffers.delete(key) unless key.all?(&:alive?) end true end |
#write(message) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/buffered_logger/log_device_proxy.rb', line 38 def write() if started? @buffers[key].write() else @logdev.write() end end |