class Pipeful::PipeBuffer
PIPE BUFFER
Public Class Methods
new(*els)
click to toggle source
# File lib/pipeful.rb, line 129 def initialize(*els) @array = debuffer(els) end
unwrap?(buffer)
click to toggle source
# File lib/pipeful.rb, line 143 def self.unwrap?(buffer) return buffer unless buffer.is_a?(PipeBuffer) buffer.unwrap? end
Public Instance Methods
to_s()
click to toggle source
# File lib/pipeful.rb, line 133 def to_s "+#{@array}" end
unwrap?()
click to toggle source
used by Object#>> when returning a pipe buffer
# File lib/pipeful.rb, line 138 def unwrap? return first if size == 1 self end
Private Instance Methods
debuffer(arr)
click to toggle source
prevents nested pipe buffer (but checks only one level deep)
# File lib/pipeful.rb, line 151 def debuffer(arr) arr.map do |el| el.is_a?(PipeBuffer) ? [*el] : [el] end.flatten(1) end