lib/dry/schema/message_set.rb in dry-schema-0.3.0 vs lib/dry/schema/message_set.rb in dry-schema-0.4.0

- old
+ new

@@ -1,16 +1,19 @@ # frozen_string_literal: true +require 'dry/equalizer' + module Dry module Schema # A set of messages used to generate errors # # @see Result#message_set # # @api public class MessageSet include Enumerable + include Dry::Equalizer(:messages, :options) attr_reader :messages, :placeholders, :options # @api private def self.[](messages, options = EMPTY_HASH) @@ -33,10 +36,19 @@ # @api public def to_h messages_map end alias_method :to_hash, :to_h - alias_method :dump, :to_h + + # @api public + def [](key) + to_h[key] + end + + # @api public + def fetch(key) + self[key] || raise(KeyError, "+#{key}+ message was not found") + end # @api private def empty? messages.empty? end