Class: Dry::Effects::Effects::Defer
- Inherits:
-
Module
- Object
- Module
- Dry::Effects::Effects::Defer
- Defined in:
- lib/dry/effects/effects/defer.rb
Constant Summary collapse
- Defer =
Effect.new(type: :defer, name: :defer)
- Later =
Effect.new(type: :defer, name: :later)
- Wait =
Effect.new(type: :defer, name: :wait)
Instance Method Summary collapse
-
#initialize ⇒ Defer
constructor
A new instance of Defer.
Constructor Details
#initialize ⇒ Defer
Returns a new instance of Defer.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/dry/effects/effects/defer.rb', line 11 def initialize super module_eval do define_method(:defer) do |executor: Undefined, &block| ::Dry::Effects.yield(Defer.(block, executor)) end define_method(:wait) do |promises| ::Dry::Effects.yield(Wait.(promises)) end define_method(:later) do |executor: Undefined, &block| ::Dry::Effects.yield(Later.(block, executor)) end end end |