class BCDD::Result private attr_accessor unknown: bool private attr_writer transitions: Hash[Symbol, untyped] private attr_reader type_checker: BCDD::Result::Contract::TypeChecker attr_reader data: BCDD::Result::Data attr_reader subject: untyped attr_reader halted: bool attr_reader transitions: Hash[Symbol, untyped] def self.config: -> BCDD::Result::Config def self.configuration: { (BCDD::Result::Config) -> void } -> BCDD::Result::Config def initialize: ( type: Symbol, value: untyped, ?subject: untyped, ?expectations: BCDD::Result::Contract::Evaluator, ?halted: bool ) -> void def type: -> Symbol def value: -> untyped def halted?: -> bool def success?: (?Symbol type) -> bool def failure?: (?Symbol type) -> bool def value_or: { () -> untyped } -> untyped def on: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_success: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_failure: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_unknown: () { (untyped, Symbol) -> void } -> BCDD::Result def and_then: (?Symbol method_name, ?untyped context) ?{ (untyped) -> untyped } -> untyped def handle: () { (BCDD::Result::Handler) -> void } -> untyped def ==: (untyped) -> bool def hash: -> Integer def inspect: -> String def deconstruct: -> [Symbol, [Symbol, untyped]] def deconstruct_keys: (Array[Symbol]) -> Hash[Symbol, Hash[Symbol, untyped]] alias eql? == alias on_type on private def kind: -> Symbol def known: (Proc) -> untyped def call_and_then_subject_method: (Symbol, untyped) -> BCDD::Result def call_and_then_subject_method!: (untyped, untyped) -> BCDD::Result def call_and_then_block: (untyped) -> BCDD::Result def call_and_then_block!: (untyped) -> BCDD::Result def ensure_result_object: (untyped, origin: Symbol) -> BCDD::Result end class BCDD::Result class Success < BCDD::Result module Methods def success?: (?Symbol type) -> bool def failure?: (?Symbol type) -> bool def value_or: { () -> untyped } -> untyped def value: -> untyped private def kind: -> Symbol def type_checker: -> BCDD::Result::Contract::TypeChecker end include Methods end def self.Failure: (Symbol type, ?untyped value) -> BCDD::Result::Failure end class BCDD::Result class Failure < BCDD::Result module Methods def success?: (?Symbol type) -> bool def failure?: (?Symbol type) -> bool def value_or: { (untyped) -> untyped } -> untyped def value: -> untyped private def kind: -> Symbol def type_checker: -> BCDD::Result::Contract::TypeChecker end include Methods end def self.Success: (Symbol type, ?untyped value) -> BCDD::Result::Success end