Class: Gallus::Output::Stream
- Inherits:
-
Object
- Object
- Gallus::Output::Stream
- Defined in:
- lib/gallus/output/stream.rb
Overview
Public: Simple, thread-safe IO stream output handler. Takes stream and format on input.
Instance Method Summary collapse
- #call(event) ⇒ Object
- #call!(event) ⇒ Object
-
#initialize(stream, format) ⇒ Stream
constructor
A new instance of Stream.
Constructor Details
#initialize(stream, format) ⇒ Stream
Returns a new instance of Stream.
5 6 7 8 |
# File 'lib/gallus/output/stream.rb', line 5 def initialize(stream, format) @mutex = Mutex.new @stream, @format = stream, format end |
Instance Method Details
#call(event) ⇒ Object
10 11 12 |
# File 'lib/gallus/output/stream.rb', line 10 def call(event) @mutex.synchronize { call!(event) } end |
#call!(event) ⇒ Object
14 15 16 |
# File 'lib/gallus/output/stream.rb', line 14 def call!(event) @stream.write(@format.call(event) + "\n") end |