Module: Philiprehberger::Try
- Defined in:
- lib/philiprehberger/try.rb,
lib/philiprehberger/try/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
'0.5.0'
Class Method Summary collapse
-
.all(*items) ⇒ Success, Failure
Combine multiple Try results or callables into a single result.
- .call(timeout: nil, &block) ⇒ Object
Class Method Details
.all(*items) ⇒ Success, Failure
Combine multiple Try results or callables into a single result.
Accepts any mix of Success, Failure, Proc, or lambda objects. Procs/lambdas are evaluated lazily via Try.call and short-circuit on the first failure.
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/philiprehberger/try.rb', line 27 def self.all(*items) values = [] items.each do |item| result = item.is_a?(Proc) ? call(&item) : item return result if result.failure? values << result.value end Success.new(values) end |