Add deprecation warnings when type spec is missing
This commit is contained in:
parent
d6bb0dec86
commit
83d61bacef
|
@ -0,0 +1,23 @@
|
|||
require 'logger'
|
||||
|
||||
module Dry
|
||||
module Validation
|
||||
module Deprecations
|
||||
extend Dry::Configurable
|
||||
|
||||
setting :logger, Logger.new($stdout)
|
||||
|
||||
def self.format(msg, caller)
|
||||
"#{msg} [#{caller[1].split(':')[0..1].join(' line ')}]"
|
||||
end
|
||||
|
||||
def logger
|
||||
@logger ||= Deprecations.config.logger
|
||||
end
|
||||
|
||||
def warn(msg)
|
||||
logger.warn(Deprecations.format(msg, ::Kernel.caller))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,6 +1,10 @@
|
|||
require 'dry/validation/deprecations'
|
||||
|
||||
module Dry
|
||||
module Validation
|
||||
class ErrorCompiler::Input < ErrorCompiler
|
||||
extend Deprecations
|
||||
|
||||
attr_reader :name, :input, :rule, :val_type
|
||||
|
||||
def initialize(messages, options)
|
||||
|
@ -67,12 +71,12 @@ module Dry
|
|||
end
|
||||
|
||||
def options_for_inclusion?(args)
|
||||
::Kernel.warn 'inclusion is deprecated - use included_in instead.'
|
||||
warn 'inclusion is deprecated - use included_in instead.'
|
||||
options_for_included_in?(args)
|
||||
end
|
||||
|
||||
def options_for_exclusion?(args)
|
||||
::Kernel.warn 'exclusion is deprecated - use excluded_from instead.'
|
||||
warn 'exclusion is deprecated - use excluded_from instead.'
|
||||
options_for_excluded_from?(args)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
require 'dry/validation/schema/rule'
|
||||
require 'dry/validation/deprecations'
|
||||
|
||||
module Dry
|
||||
module Validation
|
||||
class Schema
|
||||
class DSL < BasicObject
|
||||
include ::Dry::Validation::Deprecations
|
||||
|
||||
attr_reader :name, :registry, :rules, :checks, :parent, :options
|
||||
|
||||
def self.[](name, options = {})
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
require 'dry/validation/deprecations'
|
||||
|
||||
module Dry
|
||||
module Validation
|
||||
class Schema
|
||||
class Rule < BasicObject
|
||||
extend ::Dry::Validation::Deprecations
|
||||
|
||||
INVALID_PREDICATES = {
|
||||
value: [],
|
||||
maybe: [:empty?, :none?],
|
||||
|
@ -48,7 +52,7 @@ module Dry
|
|||
end
|
||||
|
||||
def required(*predicates)
|
||||
::Kernel.warn 'required is deprecated - use filled instead.'
|
||||
warn 'required is deprecated - use filled instead.'
|
||||
|
||||
filled(*predicates)
|
||||
end
|
||||
|
|
|
@ -15,7 +15,7 @@ module Dry
|
|||
end
|
||||
|
||||
def key(name, &block)
|
||||
::Kernel.warn 'key is deprecated - use required instead.'
|
||||
warn 'key is deprecated - use required instead.'
|
||||
|
||||
required(name, &block)
|
||||
end
|
||||
|
@ -25,6 +25,8 @@ module Dry
|
|||
|
||||
if type_spec
|
||||
type_map[name] = type_spec
|
||||
else
|
||||
warn "Missing type spec for #{name.inspect} #{type}"
|
||||
end
|
||||
|
||||
rule
|
||||
|
|
|
@ -23,6 +23,10 @@ module Types
|
|||
include Dry::Types.module
|
||||
end
|
||||
|
||||
Dry::Validation::Deprecations.configure do |config|
|
||||
config.logger = Logger.new(SPEC_ROOT.join('../log/deprecations.log'))
|
||||
end
|
||||
|
||||
RSpec.configure do |config|
|
||||
config.disable_monkey_patching!
|
||||
|
||||
|
|
Loading…
Reference in New Issue