Sha256: 95cf628891b780c9e37f8e0e8c674a45be4cfc5c63014219dba20c72d3fcd620

Contents?: true

Size: 847 Bytes

Versions: 1

Compression:

Stored size: 847 Bytes

Contents

# frozen_string_literal: true

module Dry
  module Effects
    module Constructors
      # @api public
      def CurrentTime(**kwargs)
        if kwargs.empty?
          Effects::CurrentTime::CurrentTime
        else
          Effects::CurrentTime::CurrentTime.(**kwargs)
        end
      end

      # @api public
      def Resolve(identifier)
        Effects::Resolve::Resolve.(identifier)
      end

      # @api public
      def Retry(scope) = Effects::Retry::Retry.new(type: :retry, scope: scope)

      # @api public
      def Read(scope) = Effects::State::State.new(type: :state, name: :read, scope: scope)

      # @api public
      def Write(scope, value)
        Effects::State::State.new(type: :state, name: :write, scope: scope, payload: [value])
      end

      instance_methods(false).each { module_function(_1) }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-effects-0.5.0 lib/dry/effects/constructors.rb