Sha256: ceeee27a83987be38c7019a0770cf48b3a837e57887e544c4da9a519eafdfaa0
Contents?: true
Size: 591 Bytes
Versions: 1
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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-effects-0.2.0 | lib/dry/effects/halt.rb |