Sha256: 9d42733db5f563c7245aea324a85ece2269bac5fe7ba1adf86ebaf152e6b4696
Contents?: true
Size: 591 Bytes
Versions: 8
Compression:
Stored size: 591 Bytes
Contents
# frozen_string_literal: true require 'concurrent/map' require 'dry/core/class_attributes' 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
8 entries across 8 versions & 1 rubygems