Class: Webmidi::Middleware::Pipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/webmidi/middleware/pipeline.rb

Instance Method Summary collapse

Constructor Details

#initialize(input, stack = nil) ⇒ Pipeline

Returns a new instance of Pipeline.



6
7
8
9
# File 'lib/webmidi/middleware/pipeline.rb', line 6

def initialize(input, stack = nil)
  @input = input
  @stack = stack || Stack.new
end

Instance Method Details

#to(output) ⇒ Object



11
12
13
14
15
16
# File 'lib/webmidi/middleware/pipeline.rb', line 11

def to(output)
  @input.on_message do |message|
    processed = @stack.call(message)
    output.send(processed) if processed
  end
end