class Streamlet
Constants
- VERSION
Attributes
args[R]
operation[R]
success_test[R]
Public Class Methods
new(*args, &operation)
click to toggle source
# File lib/streamlet.rb, line 2 def initialize(*args, &operation) @args = args @operation = operation @success_test = proc { |resp| !!resp } end
Public Instance Methods
and_then(&next_operation)
click to toggle source
# File lib/streamlet.rb, line 13 def and_then(&next_operation) if success_test.call(result) Streamlet.new(result, &next_operation). set_success_test(&success_test) else Failure.new(result) end end
result()
click to toggle source
# File lib/streamlet.rb, line 22 def result @result ||= operation.call(*args) end
set_success_test(&success_test)
click to toggle source
# File lib/streamlet.rb, line 8 def set_success_test(&success_test) @success_test = success_test self end