Module: Matheus::Result
- Defined in:
- lib/matheus/result.rb
Defined Under Namespace
Modules: Methods
Constant Summary collapse
- Success =
Data.define(:value) do def success? = true def failure? = false def on_success = yield(value) def on_failure = self def error = nil def inspect = "Success(#{value.inspect})" end
- Failure =
Data.define(:error) do def success? = false def failure? = true def on_success = self def on_failure = yield(error) def value = raise "Can't call #value on a #{self.class} object. Object is #{inspect}" def inspect = "Failure(#{error.inspect})" end
Class Method Summary collapse
Class Method Details
.from(value) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/matheus/result.rb', line 39 def self.from(value) if value.is_a?(Success) || value.is_a?(Failure) value else Success.new(value) end end |