Sha256: ed6f71fce276375a3ea1febf400dbbbefe0e654a3d52ed59d2d9fddde108530f
Contents?: true
Size: 806 Bytes
Versions: 8
Compression:
Stored size: 806 Bytes
Contents
# frozen_string_literal: true require 'dry/effects/effect' module Dry module Effects module Effects class Defer < ::Module Defer = Effect.new(type: :defer, name: :defer) Later = Effect.new(type: :defer, name: :later) Wait = Effect.new(type: :defer, name: :wait) def initialize 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 end end end end
Version data entries
8 entries across 8 versions & 1 rubygems