Sha256: 980dbc50423b655b17de685d18848c4eda39c9d08b5bcb84dbee2f2a830512da
Contents?: true
Size: 555 Bytes
Versions: 1
Compression:
Stored size: 555 Bytes
Contents
# frozen_string_literal: true require "concurrent/map" require "dry/effects/inflector" module Dry module Effects class Halt < StandardError extend Core::ClassAttributes @constants = ::Concurrent::Map.new def self.[](key) @constants.fetch_or_store(key) do klass = ::Class.new(Halt) const_set(Inflector.camelize(key), klass) end end attr_reader :payload def initialize(payload = Undefined) super(EMPTY_STRING) @payload = payload end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-effects-0.3.0 | lib/dry/effects/halt.rb |