Метод HTTParty parsed_response
возвращает хэш, если вы получите код ответа 200, но в противном случае он вернет строку, независимо от того, вернет ли веб-сервер ответ XML.
HTTParty.get(post_url).parsed_response.class # Depends on response code
Amazon предоставит XML (объясняя, что пошло не так) даже на 403.
Я что-то упустил?