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