class Grape::Exceptions::Base

def compose_message(key, **attributes)

if BASE_ATTRIBUTES_KEY.key respond to a Hash, means it may have problem , summary and resolution
if BASE_ATTRIBUTES_KEY.key respond to a string message, then short_message is returned
TODO: translate attribute first
def compose_message(key, **attributes)
  short_message = translate_message(key, attributes)
  return short_message unless short_message.is_a?(Hash)
  each_steps(key, attributes).with_object(+'') do |detail_array, message|
    message << "\n#{detail_array[0]}:\n  #{detail_array[1]}" unless detail_array[1].blank?
  end
end