lib/grape/validations/validators/base.rb in grape-1.7.1 vs lib/grape/validations/validators/base.rb in grape-1.8.0
- old
+ new
@@ -44,38 +44,27 @@
attributes = SingleAttributeIterator.new(self, @scope, params)
# we collect errors inside array because
# there may be more than one error per field
array_errors = []
- attributes.each do |val, attr_name, empty_val, skip_value|
- next if skip_value
+ attributes.each do |val, attr_name, empty_val|
next if !@scope.required? && empty_val
next unless @scope.meets_dependency?(val, params)
- begin
- validate_param!(attr_name, val) if @required || (val.respond_to?(:key?) && val.key?(attr_name))
- rescue Grape::Exceptions::Validation => e
- array_errors << e
- end
+ validate_param!(attr_name, val) if @required || (val.respond_to?(:key?) && val.key?(attr_name))
+ rescue Grape::Exceptions::Validation => e
+ array_errors << e
end
raise Grape::Exceptions::ValidationArrayErrors.new(array_errors) if array_errors.any?
end
- def self.convert_to_short_name(klass)
- ret = klass.name.gsub(/::/, '/')
- ret.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
- ret.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
- ret.tr!('-', '_')
- ret.downcase!
- File.basename(ret, '_validator')
- end
-
def self.inherited(klass)
- return unless klass.name.present?
+ return if klass.name.blank?
- Validations.register_validator(convert_to_short_name(klass), klass)
+ short_validator_name = klass.name.demodulize.underscore.delete_suffix('_validator')
+ Validations.register_validator(short_validator_name, klass)
end
def message(default_key = nil)
options = instance_variable_get(:@option)
options_key?(:message) ? options[:message] : default_key
@@ -93,10 +82,10 @@
end
end
end
Grape::Validations::Base = Class.new(Grape::Validations::Validators::Base) do
- def initialize(*)
+ def self.inherited(*)
+ ActiveSupport::Deprecation.warn 'Grape::Validations::Base is deprecated! Use Grape::Validations::Validators::Base instead.'
super
- warn '[DEPRECATION] `Grape::Validations::Base` is deprecated. Use `Grape::Validations::Validators::Base` instead.'
end
end