Class: MiniKraken::Core::Succeed
- Inherits:
-
NullaryRelation
- Object
- Specification
- Relation
- NullaryRelation
- MiniKraken::Core::Succeed
- Includes:
- Singleton
- Defined in:
- lib/mini_kraken/core/succeed.rb
Overview
A nullary relation that always returns success outcomes.
Instance Attribute Summary
Attributes inherited from Specification
Instance Method Summary collapse
-
#initialize ⇒ Succeed
constructor
Constructor.
-
#solver_for(_actuals, ctx) ⇒ Core::DuckFiber
Returns a Fiber-like object (a DuckFiber).
Methods inherited from Specification
#check_arity, #inspect, #variadic?
Constructor Details
#initialize ⇒ Succeed
Constructor. Initialize the relation’s name & freeze it…
14 15 16 |
# File 'lib/mini_kraken/core/succeed.rb', line 14 def initialize super('succeed') end |
Instance Method Details
#solver_for(_actuals, ctx) ⇒ Core::DuckFiber
Returns a Fiber-like object (a DuckFiber). When that object receives the message resume, it will return a success context.
24 25 26 27 |
# File 'lib/mini_kraken/core/succeed.rb', line 24 def solver_for(_actuals, ctx) # Important: every `solver_for` call will result in a distinct Context. DuckFiber.new(-> { ctx.succeeded! }) end |