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