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))