Sha256: 9109b818f66d25745ce764d4e28120718d9d2fdd958794a8cce8382d52717963
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
# frozen_string_literal: true require 'dry/equalizer' require 'dry/configurable' require 'dry/schema/constants' require 'dry/schema/predicate_registry' 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, Schema::PredicateRegistry.new) # @!method messages # # Return configuration for message backend # # @return [Dry::Configurable::Config] # # @api public setting(:messages) do setting(:backend, :yaml) setting(:namespace) setting(:load_paths, Set[DEFAULT_MESSAGES_PATH], &:dup) setting(:top_namespace, DEFAULT_MESSAGES_ROOT) setting(:default_locale, nil) end # @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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-schema-1.1.0 | lib/dry/schema/config.rb |