Sha256: 21aaf76854d85b15ed26ef9f6e74f6c378c9374e76c2f9ab471469bdfd50e43f
Contents?: true
Size: 1.91 KB
Versions: 7
Compression:
Stored size: 1.91 KB
Contents
# frozen_string_literal: true require "dry/core/equalizer" require "dry/configurable" require "dry/schema/constants" module Dry module Schema # Schema definition configuration class # # @see DSL#configure # # @api public class Config include Dry::Configurable include Dry::Equalizer(:to_h, inspect: false) # @!method predicates # # Return configured predicate registry # # @return [Schema::PredicateRegistry] # # @api public setting :predicates, default: Schema::PredicateRegistry.new # @!method types # # Return configured container with extra types # # @return [Hash] # # @api public setting :types, default: Dry::Types # @!method messages # # Return configuration for message backend # # @return [Dry::Configurable::Config] # # @api public setting :messages do setting :backend, default: :yaml setting :namespace setting :load_paths, default: Set[DEFAULT_MESSAGES_PATH], constructor: :dup.to_proc setting :top_namespace, default: DEFAULT_MESSAGES_ROOT setting :default_locale end # @!method validate_keys # # On/off switch for key validator # # @return [Boolean] # # @api public setting :validate_keys, default: false # @api private def respond_to_missing?(meth, include_private = false) super || config.respond_to?(meth, include_private) end # @api private def inspect "#<#{self.class} #{to_h.map { |k, v| ["#{k}=", v.inspect] }.map(&:join).join(" ")}>" end private # Forward to the underlying config object # # @api private def method_missing(meth, *args, &block) super unless config.respond_to?(meth) config.public_send(meth, *args) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems