class Grape::Validations::MultipleParamsBase

Public Instance Methods

validate!(params) click to toggle source
# File lib/grape/validations/validators/multiple_params_base.rb, line 6
def validate!(params)
  attributes = MultipleAttributesIterator.new(self, @scope, params)
  array_errors = []

  attributes.each do |resource_params, skip_value|
    next if skip_value

    begin
      validate_params!(resource_params)
    rescue Grape::Exceptions::Validation => e
      array_errors << e
    end
  end

  raise Grape::Exceptions::ValidationArrayErrors.new(array_errors) if array_errors.any?
end

Private Instance Methods

all_keys() click to toggle source
# File lib/grape/validations/validators/multiple_params_base.rb, line 31
def all_keys
  attrs.map { |attr| @scope.full_name(attr) }
end
keys_in_common(resource_params) click to toggle source
# File lib/grape/validations/validators/multiple_params_base.rb, line 25
def keys_in_common(resource_params)
  return [] unless resource_params.is_a?(Hash)

  all_keys & resource_params.keys.map! { |attr| @scope.full_name(attr) }
end