Sha256: a180f9181762810ac3eb89ff6c33a9e41e5d0e0b59b7cf715d96e607df95fdfb
Contents?: true
Size: 667 Bytes
Versions: 4
Compression:
Stored size: 667 Bytes
Contents
# frozen_string_literal: true module Dry module Effects class Handler attr_reader :provider attr_reader :frame def initialize(type, *args) @provider = ::Dry::Effects.providers[type].new(*args) @frame = Frame.new(provider) end if RUBY_VERSION >= '2.7' class_eval(<<~RUBY, __FILE__, __LINE__ + 1) def call(...) frame.(...) end RUBY else def call(*args, &block) frame.(*args, &block) end end def to_s "#<Dry::Effects::Handler #{provider.represent}>" end alias_method :inspect, :to_s end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
dry-effects-0.1.5 | lib/dry/effects/handler.rb |
dry-effects-0.1.4 | lib/dry/effects/handler.rb |
dry-effects-0.1.3 | lib/dry/effects/handler.rb |
dry-effects-0.1.2 | lib/dry/effects/handler.rb |