Sha256: fccabd7b0a32e71d8c9b2cfa97890d68ea6a0cb8a7725e981df2b09de25bdce1
Contents?: true
Size: 1016 Bytes
Versions: 1
Compression:
Stored size: 1016 Bytes
Contents
# frozen_string_literal: true module Dry class Struct # Raised when given input doesn't conform schema and constructor type Error = Class.new(::Dry::Types::CoercionError) # Raised when defining duplicate attributes class RepeatedAttributeError < ::ArgumentError # @param [Symbol] key # attribute name that is the same as previously defined one def initialize(key) super("Attribute :#{key} has already been defined") end end # Raised when a struct doesn't have an attribute class MissingAttributeError < ::KeyError def initialize(attribute:, klass:) super("Missing attribute: #{attribute.inspect} on #{klass}") end end # When struct class stored in ast was garbage collected because no alive objects exists # This shouldn't happen in a working application class RecycledStructError < ::RuntimeError def initialize super("Reference to struct class was garbage collected") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-struct-1.7.0 | lib/dry/struct/errors.rb |