Если вы хотите соответствовать точным классам (а не потомкам), вы можете использовать:
[Hash, Array].member? a.class
Я думаю, вы должны объяснить, чего именно вам нужно достичь. Возможно, единственное, что вам нужно проверить, это если ваш объект Enumerable
или нет, или даже если это respond_to?
какой-то определенный метод.