Module: Kotoshu::Results::Result

Defined in:
lib/kotoshu/results/result.rb

Overview

Result pattern for explicit error handling.

Provides a type-safe way to handle operations that can fail without using exceptions. Based on functional programming patterns.

Examples:

Using Success

result = Result::Success.new("value")
result.success?  # => true
result.value     # => "value"

Using Failure

result = Result::Failure.new(error)
result.failure?  # => true
result.error      # => the error

Chaining operations

result = Result::Success.new(5)
  .and_then { |v| Success.new(v * 2) }  # Only called if success
  .or_else { |e| Success.new(0) }        # Only called if failure

Defined Under Namespace

Classes: Base, Failure, Success