lib/fluxus/results/chainable.rb in fluxus-0.1.2 vs lib/fluxus/results/chainable.rb in fluxus-1.0.0

- old
+ new

@@ -1,9 +1,16 @@ # frozen_string_literal: true module Fluxus module Results module Chainable + def then(klass, **kwargs) + return self if failure? + + data ||= {} + klass.call!(**data.merge(kwargs)) + end + def on_success(expected_type = nil) yield(data) if __success_type?(expected_type) self end