ruby horn raises exceptions on failure