class Dry::Schema::MessageCompiler::VisitorOpts
@api private
Optimized option hash used by visitor methods in message compiler
def self.new
- Api: - private
def self.new opts = super opts[:path] = EMPTY_ARRAY opts[:message_type] = :failure opts[:current_messages] = EMPTY_ARRAY.dup opts end
def call(other)
- Api: - private
def call(other) merge(other.update(path: [*path, *other[:path]])) end
def current_messages
def current_messages self[:current_messages] end
def dup(current_messages = EMPTY_ARRAY.dup)
def dup(current_messages = EMPTY_ARRAY.dup) opts = super() opts[:current_messages] = current_messages opts end
def failures
def failures current_messages.reject(&:hint?) end
def hints
def hints current_messages.select(&:hint?) end
def key_failure?(path)
def key_failure?(path) failures.any? { |f| f.path == path && f.predicate.equal?(:key?) } end
def path
- Api: - private
def path self[:path] end