Обычно в ruby, когда вы ищете «тип», вы на самом деле хотите «тип утки» или «это как кряк, как утка?». Вы увидите, отвечает ли он определенному методу:
@some_var.respond_to?(:each)
Вы можете перебрать @some_var, потому что он отвечает: каждый
Если вы действительно хотите знать тип и если это Hash или Array, тогда вы можете сделать:
["Hash", "Array"].include?(@some_var.class) #=> check both through instance class
@some_var.kind_of?(Hash) #=> to check each at once
@some_var.is_a?(Array) #=> same as kind_of