class Grape::Validations::SingleAttributeIterator

def empty?(val)

=> true
false.blank?

It could be possible to use +blank?+ instead, but
Primitives like Integers and Booleans don't respond to +empty?+.
def empty?(val)
  val.respond_to?(:empty?) ? val.empty? : val.nil?
end

def yield_attributes(val, attrs)

def yield_attributes(val, attrs)
  return if skip?(val)
  attrs.each do |attr_name|
    yield val, attr_name, empty?(val)
  end
end