lib/grape/validations/validators/base.rb in grape-1.5.3 vs lib/grape/validations/validators/base.rb in grape-1.6.0

- old
+ new

@@ -28,10 +28,11 @@ # @param request [Grape::Request] the request currently being handled # @raise [Grape::Exceptions::Validation] if validation failed # @return [void] def validate(request) return unless @scope.should_validate?(request.params) + validate!(request.params) end # Validates a given parameter hash. # @note Override #validate if you need to access the entire request. @@ -46,12 +47,13 @@ attributes.each do |val, attr_name, empty_val, skip_value| next if skip_value 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) + validate_param!(attr_name, val) if @required || (val.respond_to?(:key?) && val.key?(attr_name)) rescue Grape::Exceptions::Validation => e array_errors << e end end @@ -67,9 +69,10 @@ File.basename(ret, '_validator') end def self.inherited(klass) return unless klass.name.present? + Validations.register_validator(convert_to_short_name(klass), klass) end def message(default_key = nil) options = instance_variable_get(:@option)