class Grape::Validations::ParamsScope

def meets_hash_dependency?(params)

def meets_hash_dependency?(params)
  # params might be anything what looks like a hash, so it must implement a `key?` method
  return false unless params.respond_to?(:key?)
  @dependent_on.each do |dependency|
    if dependency.is_a?(Hash)
      dependency_key = dependency.keys[0]
      proc = dependency.values[0]
      return false unless proc.call(params.try(:[], dependency_key))
    elsif params.respond_to?(:key?) && params.try(:[], dependency).blank?
      return false
    end
  end
  true
end