when RuntimeError, ArgumentError, Fog::Compute::VcloudDirector::TaskError
#weird error format coming back from fog
[BAD_REQUEST, error.message.split('message=>')[1]]
when RuntimeError, ArgumentError, Fog::Compute::VcloudDirector::BadRequest
[BAD_REQUEST, error.to_s]
The above kills the intended functionality for RuntimeError and ArgumentError exceptions. The second when clause will never be reached (for these exception types) and appears to be the valid handler (for these exception types).