Module: Julewire::Core::Destinations::Sink
- Defined in:
- lib/julewire/core/destinations/sink.rb
Class Method Summary collapse
- .reject_output_array!(output) ⇒ Object
- .validate_writeable!(output) ⇒ Object
- .wrap(output, close_output: false) ⇒ Object
Class Method Details
.reject_output_array!(output) ⇒ Object
22 23 24 25 26 |
# File 'lib/julewire/core/destinations/sink.rb', line 22 def reject_output_array!(output) return unless output.is_a?(Array) raise ArgumentError, "output arrays are transport adapter behavior; use destinations or an adapter output" end |
.validate_writeable!(output) ⇒ Object
16 17 18 19 20 |
# File 'lib/julewire/core/destinations/sink.rb', line 16 def validate_writeable!(output) return if output.respond_to?(:write) raise ArgumentError, "output must respond to #write" end |
.wrap(output, close_output: false) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/julewire/core/destinations/sink.rb', line 8 def wrap(output, close_output: false) reject_output_array!(output) return output if wrapped?(output) validate_writeable!(output) SynchronizedOutput.new(output, close_output: close_output) end |