Sha256: 02b747091a0b1b2fa44b3b20ae3ee5a8d8254ee4dd47bd8e656eb9286065c25d
Contents?: true
Size: 586 Bytes
Versions: 1
Compression:
Stored size: 586 Bytes
Contents
module Grape module Validations class MutualExclusionValidator < Validator attr_reader :params def validate!(params) @params = params if two_or_more_exclusive_params_are_present raise Grape::Exceptions::Validation, params: keys_in_common, message_key: :mutual_exclusion end params end private def two_or_more_exclusive_params_are_present keys_in_common.length > 1 end def keys_in_common (attrs.map(&:to_s) & params.stringify_keys.keys).map(&:to_s) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grape-0.9.0 | lib/grape/validations/mutual_exclusion.rb |