class Grape::Validations::MutualExclusionValidator
Attributes
params[R]
Public Instance Methods
validate!(params)
click to toggle source
# File lib/grape/validations/mutual_exclusion.rb, line 6 def validate!(params) @params = params if two_or_more_exclusive_params_are_present raise Grape::Exceptions::Validation, param: "#{keys_in_common.map(&:to_sym)}", message_key: :mutual_exclusion end params end
Private Instance Methods
keys_in_common()
click to toggle source
# File lib/grape/validations/mutual_exclusion.rb, line 20 def keys_in_common attrs.map(&:to_s) & params.stringify_keys.keys end
two_or_more_exclusive_params_are_present()
click to toggle source
# File lib/grape/validations/mutual_exclusion.rb, line 16 def two_or_more_exclusive_params_are_present keys_in_common.length > 1 end