class Grape::Validations::ExactlyOneOfValidator

Public Instance Methods

message(default_key = nil) click to toggle source
# File lib/grape/validations/validators/exactly_one_of.rb, line 13
def message(default_key = nil)
  options = instance_variable_get(:@option)
  if options_key?(:message)
    (options_key?(default_key, options[:message]) ? options[:message][default_key] : options[:message])
  else
    default_key
  end
end
validate!(params) click to toggle source
Calls superclass method
# File lib/grape/validations/validators/exactly_one_of.rb, line 5
def validate!(params)
  super
  if scope_requires_params && none_of_restricted_params_is_present
    raise Grape::Exceptions::Validation, params: all_keys, message: message(:exactly_one)
  end
  params
end

Private Instance Methods

none_of_restricted_params_is_present() click to toggle source
# File lib/grape/validations/validators/exactly_one_of.rb, line 24
def none_of_restricted_params_is_present
  scoped_params.any? { |resource_params| keys_in_common(resource_params).empty? }
end