lib/dry/effects/effects/lock.rb in dry-effects-0.1.5 vs lib/dry/effects/effects/lock.rb in dry-effects-0.2.0
- old
+ new
@@ -1,8 +1,8 @@
# frozen_string_literal: true
-require 'dry/effects/effect'
+require "dry/effects/effect"
module Dry
module Effects
module Effects
class Lock < ::Module
@@ -10,9 +10,11 @@
Meta = Effect.new(type: :lock, name: :meta)
Unlock = Effect.new(type: :lock, name: :unlock)
Locked = Effect.new(type: :lock, name: :locked?)
def initialize
+ super
+
module_eval do
define_method(:lock) do |key, meta: Undefined, &block|
if block
begin
handle = ::Dry::Effects.yield(Lock.payload(key, meta))